Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
618d5fe
feat: manage provider-native plugins from Settings → Plugins
Tryanks Oct 3, 2026
eeab752
refactor(agent): share one ACP session between ACP-speaking clients
Tryanks Oct 3, 2026
64f95d7
fix(agent): report an ACP startup failure only after the agent is gone
Tryanks Oct 3, 2026
2571fce
refactor: list the native providers once, at ProviderKind
Tryanks Oct 3, 2026
b55a55b
feat: add Cursor and Grok as native providers over the shared ACP ses…
Tryanks Oct 3, 2026
874508d
feat(agent): let an ACP dialect keep its own tools, options and appro…
Tryanks Oct 3, 2026
63280b5
feat(grok): complete the Grok session client
Tryanks Oct 3, 2026
ba226b1
feat(services): probe Grok authentication from `grok models`
Tryanks Oct 3, 2026
f12e80b
feat(grok): manage Grok plugins through `grok plugin`
Tryanks Oct 3, 2026
6d74f8e
fix(agent): read ACP updates sent right after session/load as live
Tryanks Oct 3, 2026
345ea1f
fix(agent): drop ACP config options the agent no longer offers
Tryanks Oct 3, 2026
ee0e22f
feat(agent): hand an ACP dialect the session updates the schema canno…
Tryanks Oct 3, 2026
ab4fc5c
feat(cursor): run Cursor sessions over its ACP dialect
Tryanks Oct 3, 2026
0813a3c
feat(services): probe Cursor's sign-in from `cursor-agent status`
Tryanks Oct 3, 2026
d03242d
Merge branch 'feat/native-grok' into feat/native-cursor-grok
Tryanks Oct 3, 2026
8a8a3e7
feat(cursor): approve by kind, own the model and restore parameters
Tryanks Oct 3, 2026
b8ab041
feat(probe): stay open for turns the agent starts itself
Tryanks Oct 3, 2026
f4637eb
feat(grok): run the turns Grok starts itself as turns
Tryanks Oct 3, 2026
c5a64fe
Merge branch 'feat/native-grok' into feat/native-cursor-grok
Tryanks Oct 3, 2026
eafb3e9
docs(agent): drop history and an outside reference from ACP comments
Tryanks Oct 3, 2026
fc21286
docs: name Cursor where the README and CONTRIBUTING list the agents
Tryanks Oct 3, 2026
b36e8f0
docs(agent): say Cursor keys question answers by its question id
Tryanks Oct 3, 2026
0e7dbdd
docs(agent): describe ACP option lists for every agent that speaks ACP
Tryanks Oct 3, 2026
a1fff4c
Merge branch 'main' into feat/native-cursor-grok
Tryanks Oct 3, 2026
c9592fd
fix(ui): show the native-approvals switch only for providers it governs
Tryanks Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,11 @@ is derived from it. **Process** is how to build, check and submit work.
### Reporting bugs and asking for features

Open an [issue](https://github.com/Tryanks/tcode/issues). For a bug, include
your OS, which agent (Claude Code / Codex / which ACP agent), what you did, what
happened and what you expected. A screenshot beats a paragraph for anything
visual. If you are unsure whether something is a bug or intended, open an issue
anyway — the answer is worth writing down either way.
your OS, which agent (Claude Code, Codex, pi, OpenCode, Cursor, Grok, or which
ACP agent), what you did, what happened and what you expected. A screenshot
beats a paragraph for anything visual. If you are unsure whether something is a
bug or intended, open an issue anyway — the answer is worth writing down either
way.

### Building

Expand All @@ -121,8 +122,8 @@ Platform prerequisites:
`libwayland-dev`, `libxcb*`, `libssl-dev`, `libasound2-dev`, `libfontconfig-dev`).
The embedded preview browser is compiled out on Linux.

Provider CLIs are resolved from `PATH` (`claude`, `codex`, `pi`, `opencode`) and
can be overridden in **Settings → Providers**.
Provider CLIs are resolved from `PATH` (`claude`, `codex`, `pi`, `opencode`,
`cursor-agent`, `grok`) and can be overridden in **Settings → Providers**.

### Before you open a pull request

Expand Down Expand Up @@ -275,7 +276,8 @@ crates/ios, crates/android, crates/web
`tcode_ui::run_shell`
crates/platform/* GPUI platform backends for iOS and Android
crates/agent provider clients (no GPUI) — claude.rs, codex.rs, pi.rs,
opencode.rs, acp.rs
opencode.rs, cursor.rs, grok.rs, acp.rs; the ACP
session they share is acp_session.rs
crates/term terminal implementation (PTY, host-side emulator)
crates/mcp-host shared authenticated loopback host for in-process MCP servers
crates/preview-mcp MCP server exposing the preview browser to the agent
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

**A native GUI for the terminal coding agents you already use.**

Claude Code, Codex, pi, OpenCode, and any agent that speaks ACP — one window,
Claude Code, Codex, pi, OpenCode, Cursor, Grok, and any agent that speaks ACP — one window,
on your desktop, your phone, or in a browser.

[Download](https://github.com/Tryanks/tcode/releases) ·
Expand Down Expand Up @@ -78,6 +78,8 @@ and a live plan/task panel.
| [Codex](https://developers.openai.com/codex/cli) | `codex` on your `PATH` |
| [pi](https://github.com/earendil-works/pi) | `pi` on your `PATH` |
| [OpenCode](https://opencode.ai) | `opencode` on your `PATH` |
| [Cursor](https://cursor.com/cli) | `cursor-agent` on your `PATH` |
| [Grok](https://x.ai) | `grok` on your `PATH` |

**Everything else, over [ACP](https://agentclientprotocol.com).** Tcode ships a
marketplace backed by the official ACP registry.
Expand Down Expand Up @@ -179,7 +181,7 @@ also include a `SHA256SUMS.txt` file.
| Browser | Embedded in the headless release; open the HTTP link it prints (HTTPS only through your own tunnel). No separate signed app package |

**2. Have an agent installed.** Tcode drives the CLIs, it doesn't bundle them.
Make sure `claude`, `codex`, `pi` or `opencode` is on your `PATH` — or install an ACP agent from
Make sure `claude`, `codex`, `pi`, `opencode`, `cursor-agent` or `grok` is on your `PATH` — or install an ACP agent from
the marketplace once Tcode is running.

**3. Add a project and start a thread.** Point Tcode at a directory, type, send.
Expand Down
4 changes: 4 additions & 0 deletions assets/icons/cursor.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions assets/icons/grok.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions assets/icons/puzzle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions crates/agent/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ default = ["process"]
process = [
"dep:agent-client-protocol",
"dep:base64",
"dep:sha2",
"dep:smol",
"dep:ureq",
"dep:uuid",
Expand All @@ -22,6 +23,7 @@ log = "0.4"
base64 = { version = "0.23", optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = { version = "0.11", optional = true }
smol = { version = "2", optional = true }
ureq = { version = "2", default-features = false, features = ["tls", "gzip"], optional = true }
uuid = { version = "1", features = ["v4"], optional = true }
Expand Down
Loading
Loading