Beside your agents

Review what each agent changed, worktree by worktree.

Coding agents such as Claude Code, Codex and T3 Code work in Git worktrees: one folder and one branch per task, so several can run at once without touching your checkout. Nori lists those worktrees beside your repository, names the agent and the task behind each one, and shows what it changed, so you can review it, bring it up to date and open the pull request. Nori does not run the agents; it is the Git client you keep open next to them.

Why agents work in worktrees

A Git repository can have more than one working tree. git worktree add checks a branch out into a second folder that shares the same history, objects and remotes as the first. Each worktree has its own files, its own index and its own HEAD, so an agent can edit, build and commit in one while you keep working in another.

git worktree add ../my-app-fix-login -b fix-login
git worktree list
/Users/me/my-app                  4f1c2ab [main]
/Users/me/my-app-fix-login        9e03d71 [fix-login]

That is why agent tools create them: Claude Code can start a session in a new worktree, the Codex app can run a thread in one, and T3 Code can give a thread its own under ~/.t3/worktrees. Three or four tasks later, the question is no longer how to start them but what each one did, and whether it is ready to merge.

See what it changed, then push it

Click a worktree to see everything it changed since its base: the target of its pull or merge request when it has one, otherwise the default branch of origin. Uncommitted work is included, so you see what the agent is still writing, not only what it committed. The diff is the same one Nori uses everywhere: unified or split, with syntax colour, and fast on large changes.

From there, push the branch and open its pull request on GitHub or merge request on GitLab, with the description drafted from the repository’s template. With Nori Pro, the review itself happens in the app too: read the conversation, comment on lines, follow the CI checks and merge.

To change something by hand, open the worktree in its own tab, or in your editor: Xcode, VS Code, Cursor, Zed, JetBrains IDEs and others.

With Pro, Reviews: the pull requests of the repository with their checks, and the open one with what still blocks its merge.

Finish a worktree without losing work

Removing a worktree with git worktree remove refuses when it holds changes, and --force deletes them. Nori guides the end of a worktree instead: it can keep a detached checkout on a branch, tells you when the work is already integrated, and removes the folder while keeping the branch. Discarding a worktree that holds changes, a detached HEAD or submodules asks for an explicit confirmation, checked again at the last moment. Nori removes only what Git removes, and it can prune the registrations Git keeps for worktree folders that no longer exist.

The same agents, for small jobs in Nori

Nori can also ask an agent CLI you already have, signed in with your own account, for text: a commit message from the staged diff, an explanation of a commit or a hunk, a proposal for one conflict, a summary of a pull request for your review, or a pull request description. It works with Claude Code, Codex, Gemini CLI, Cursor or a command of your own. There is no API key to paste, and nothing passes through Nori.

For these, the agent runs in an empty private folder with its tools off: Codex, for instance, without its shell, plugins, MCP servers or web search. Each action can be switched off in Settings.

What Nori does not do

  • It does not start, steer or stop agents. You run them as you do today; Nori shows their work.
  • It does not create worktrees yet. Your agent tool, or git worktree add, does that, and Nori picks the new one up.
  • Agent names come from Codex, Claude Code and T3 Code only. Worktrees from other tools are listed without an agent.