Skip to content

Add managed worktree tools to the TUI - #50148

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/b6a57e92cf5f6fc51fd6d4028543d6fabaf5ac49
Oct 2, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/b6a57e92cf5f6fc51fd6d4028543d6fabaf5ac49

Conversation

@copyberry

@copyberry copyberry Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Add managed worktree tools to the TUI

What changed

Expose create_worktree, get_worktree_creation_status, and list_worktrees through MCP when the worktrees feature is enabled for a trusted local project and attachment storage is available. Support both embedded and local daemon sessions.

Create worktrees asynchronously and attach them to the requesting task, with ownership and attachments retained across restarts. Default to the repository's remote default branch unless ref is supplied. Keep the task's working directory and execution environment unchanged, and leave uncommitted source changes in place.

Reject creation in ephemeral side conversations and explicitly untrusted source projects, reuse pending operations, and reject configured MCP servers that conflict with the TUI tools namespace.

Testing

Add integration and model-request snapshot coverage for creation, polling, listing, attachment persistence across restart, task isolation, trust checks, namespace conflicts, and worker failure reporting.

## What changed

Expose `create_worktree`, `get_worktree_creation_status`, and `list_worktrees` through MCP when the worktrees feature is enabled for a trusted local project and attachment storage is available. Support both embedded and local daemon sessions.

Create worktrees asynchronously and attach them to the requesting task, with ownership and attachments retained across restarts. Default to the repository's remote default branch unless `ref` is supplied. Keep the task's working directory and execution environment unchanged, and leave uncommitted source changes in place.

Reject creation in ephemeral side conversations and explicitly untrusted source projects, reuse pending operations, and reject configured MCP servers that conflict with the TUI tools namespace.

## Testing

Add integration and model-request snapshot coverage for creation, polling, listing, attachment persistence across restart, task isolation, trust checks, namespace conflicts, and worker failure reporting.

GitOrigin-RevId: b6a57e92cf5f6fc51fd6d4028543d6fabaf5ac49
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/b6a57e92cf5f6fc51fd6d4028543d6fabaf5ac49 branch from 246ba80 to e7ea5f4 Compare October 2, 2026 02:27
@copyberry
copyberry Bot merged commit e7ea5f4 into main Oct 2, 2026
1 check failed
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/b6a57e92cf5f6fc51fd6d4028543d6fabaf5ac49 branch October 2, 2026 02:27
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 2, 2026
@Sphinm
Sphinm deployed to issue-triage October 2, 2026 02:28 — with GitHub Actions Active
@Sphinm
Sphinm deployed to issue-triage October 2, 2026 02:28 — with GitHub Actions Active
@Sphinm
Sphinm deployed to issue-triage October 2, 2026 02:28 — with GitHub Actions Active
@Sphinm
Sphinm deployed to issue-triage October 2, 2026 02:29 — with GitHub Actions Active
@spomichter
spomichter deployed to issue-triage October 2, 2026 02:37 — with GitHub Actions Active
@spomichter
spomichter deployed to issue-triage October 2, 2026 02:37 — with GitHub Actions Active
@spomichter
spomichter deployed to issue-triage October 2, 2026 02:37 — with GitHub Actions Active
@Quiyyy
Quiyyy deployed to issue-triage October 2, 2026 02:52 — with GitHub Actions Active
@Quiyyy
Quiyyy deployed to issue-triage October 2, 2026 02:52 — with GitHub Actions Active
@Quiyyy
Quiyyy deployed to issue-triage October 2, 2026 02:52 — with GitHub Actions Active
@Quiyyy
Quiyyy deployed to issue-triage October 2, 2026 02:53 — with GitHub Actions Active
@sonofsmog
sonofsmog deployed to issue-triage October 2, 2026 02:54 — with GitHub Actions Active
@sonofsmog
sonofsmog deployed to issue-triage October 2, 2026 02:54 — with GitHub Actions Active
@sonofsmog
sonofsmog deployed to issue-triage October 2, 2026 02:54 — with GitHub Actions Active
@foglerek
foglerek deployed to issue-triage October 2, 2026 03:19 — with GitHub Actions Active
@foglerek
foglerek deployed to issue-triage October 2, 2026 03:19 — with GitHub Actions Active
@foglerek
foglerek deployed to issue-triage October 2, 2026 03:19 — with GitHub Actions Active
@zrt219
zrt219 deployed to issue-triage October 2, 2026 03:31 — with GitHub Actions Active
@zrt219
zrt219 deployed to issue-triage October 2, 2026 03:31 — with GitHub Actions Active
@zrt219
zrt219 deployed to issue-triage October 2, 2026 03:31 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
issue-triage — e7ea5f4a Deployed Oct 2, 2026 by zrt219 via Translate non-English issue #16784
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.