# Which coding-agent CLIs work in Canopy, and what differs?

> A dated, source-backed comparison of launch, resume, session signals, shared context, and file attribution across seven CLIs.

Canonical HTML: https://canopyide.dev/guides/coding-agent-cli-support-in-canopy
Article date: 2026-09-28

Canopy can launch several real coding CLIs in terminals. That does not mean every CLI exposes the same hooks, session history, usage data, or file attribution. Use the comparison below to choose a workflow, then verify your installed Canopy and CLI versions.

## What the comparison measures

The table summarizes Canopy's published agent integration audit, verified in August 2026 against the app's main branch. It is not a certification of the latest downloadable v0.3.4 build, every CLI version, or model quality. ‘Resume’ means a command exists in Canopy's registry; actual recovery depends on that CLI's own session store. ‘Events’ means Canopy receives agent lifecycle signals, not that every permission prompt and tool action is equally visible. File attribution here means paths attributed to one agent in a shared checkout, which is stricter than showing all Git changes.

*Canopy main-branch integration audit, August 2026. Verify your installed release and CLI version.*

| CLI | Resume | Session events | Shared-checkout file attribution | Receives shared context |
| --- | --- | --- | --- | --- |
| Claude Code | Yes | Yes | Full | Yes |
| Codex CLI | Yes | Yes | Full | Yes |
| Amp | Yes | Yes | No | No |
| Aider | No per-session resume | Limited | No | No |
| Antigravity CLI | Yes | Yes | Tool dependent | No |
| OpenCode | Yes | Yes | Built-in edit/write | No |
| oh-my-pi | Yes | Yes | No | No |

## Start with your existing provider and task

The Canopy launcher can run supported installed CLIs, including the seven in the audit, in real terminals. Select and sign in to the CLI you already use; its provider controls model availability, limits, and billing. Canopy does not include one subscription that unlocks every model. For a simple first trial, use the same repository and bounded task you would use in a plain terminal. Check the CLI's own version and commands rather than assuming a model name shown in another tool is available here.

## Choose resume and context deliberately

If your work spans days, confirm that the CLI writes a recoverable session and that Canopy offers the corresponding resume action in your build. The audit marks Aider's history as a directory-level chat file rather than per-session resume. Claude Code and Codex receive Canopy shared context in the audited integration; the other listed CLIs may still work well as terminals but do not receive that same context path. A short branch-and-task handoff remains useful for every CLI, especially when switching tools.

## Do not overread an agent's file list

In separate worktrees, a checkout's changes can be associated with the agent that owns it. In a shared checkout, attributing one edit to one agent needs tool events with file paths. Canopy's audit marks Claude Code and Codex as full for that path, OpenCode's built-in edit and write tools as attributable, Antigravity as tool dependent, and several others as unverified or unavailable. Check the whole Git diff before review; a missing attribution row does not mean no file changed, and a visible row does not replace a final diff inspection.

## Check usage in the right surface

The audit's token/cost/model tray row is not a universal billing matrix: it lists full tray support for Claude Code, model-only indicators for several CLIs, and no tray value for others. The v0.3.4 release separately adds OpenCode token usage and cost to Statistics. A session's visible model name, a Statistics estimate, a plan-limit bar, and a provider invoice answer different questions. Record the source and timestamp when comparing two agents; use the provider account for actual charges.

## Check the installed build in ten minutes

Open a disposable repository in Canopy, then launch the CLI you plan to use. Ask it to make a tiny, reversible edit. Observe whether Canopy shows the right agent state and attributed file, then inspect Git Changes directly. Close and resume the session only if the CLI and installed build claim to support it. If you plan to use two models, repeat with the second CLI in a separate worktree and pass a one-paragraph handoff. This local test is stronger evidence for your workflow than a main-branch capability table alone.

## Use the release and audit together

GitHub lists v0.3.4 as the latest published Canopy release in the checked release list; its notes include a specific OpenCode edit-attribution fix and OpenCode usage in Statistics. The parity audit is a broader main-branch development document and may be ahead of or different from that build. For an exact installation claim, read its release notes, inspect the current UI, and record the Canopy, CLI, and platform versions you tested. Do not turn a main-branch audit row into a universal promise for all releases.

## Copyable resources

### CLI trial record

Run the same small task for every CLI you are considering.

````text
Canopy version/platform: [ ]
CLI/version/account: [ ]
Repository/branch and task: [ ]
Launched in a real terminal: [yes/no]
Session state and permission signals observed: [ ]
Changed file shown in agent view: [ ]
Git diff confirms the edit: [ ]
Resume action offered and tested: [ ]
Usage shown, with timestamp and source: [ ]
One limitation or workaround: [ ]
````

## Frequently asked questions

### Does Canopy give me Claude, Codex, and OpenCode models under one account?

No. Canopy runs installed CLIs. Each CLI uses its own provider account, models, limits, and billing.

### Can I resume every CLI session from the launcher?

No. The August 2026 parity audit lists a resume command for most audited CLIs but not Aider. Check your installed build and CLI version before depending on restoration.

### Why can Git show a change when the agent file list is empty?

Git sees working-tree changes regardless of which process made them. Per-agent attribution in a shared checkout needs verified path-bearing events from that CLI; Canopy deliberately avoids assigning unrelated edits to the wrong agent.

## Sources and further reading

- [Canopy agent parity audit, verified August 2026](https://github.com/FluidWorksApp/canopy-ide/blob/main/docs/agent-parity.md)
- [Canopy v0.3.4 release notes](https://github.com/FluidWorksApp/canopy-ide/releases/tag/v0.3.4)
- [Canopy app README: terminal-first CLI launcher and release caveat](https://github.com/FluidWorksApp/canopy-ide/blob/main/README.md)

## Related Canopy pages

- [Run Claude Code and Codex side by side without losing the work](https://canopyide.dev/use-cases/parallel-claude-code-codex-agents.md)
- [Share project instructions across Claude Code and Codex](https://canopyide.dev/guides/share-instructions-skills-mcp-between-claude-code-and-codex.md)
- [What happens to a coding agent when you close Canopy?](https://canopyide.dev/use-cases/what-happens-to-agents-when-canopy-closes.md)
- [Can Claude Code and Codex agents talk to each other in Canopy?](https://canopyide.dev/use-cases/can-claude-code-and-codex-agents-talk-in-canopy.md)
- [Canopy 0.3.4: test tab recovery, OpenCode usage, and Remote](https://canopyide.dev/blog/canopy-034-agent-workflow-release-guide.md)

Canopy runs installed coding CLIs; CLI accounts, model selection, and provider billing remain separate. Check the installed release before relying on version-specific behavior.
