Skip to content
forktty_
Linux-native terminalv0.2 alpha

forktty

Coordinate Codex, Claude Code, Antigravity, OpenCode, and shell agents in tiled GTK/Ghostty workspaces — with git worktrees, a local socket API, MCP, and resume-aware notifications.

Agent HUDGit worktreesLocal socketMCP
ForkTTY on Linux showing a workspace sidebar, pane tabs, and four tiled terminal panes with the focused pane outlined in orange.

01Agent HUD, not scrollback archaeology.

Hooks for Codex, Claude Code, Antigravity, and OpenCode persist session ids, cwd, lifecycle, and last activity so the GTK HUD can focus or resume an agent in a new tab.

forktty agents

02Worktrees are first-class workspaces.

Each task gets an isolated git worktree workspace: create, attach, merge, remove — with dirty-state protection and setup/teardown hooks.

forktty worktree-status

03Socket and MCP automation share one surface.

The user-local JSON-RPC socket backs the CLI and MCP server: inspect panes, read terminal text, capture tails, split or focus panes, manage worktrees, publish status, and drive team, workflow, feed, project-action, and remote-inventory control planes.

forktty top

04Ghostty terminals with native Linux polish.

GTK4/libadwaita in Rust on Ghostty's terminal engine: split panes, tabs, scrollback search, OSC links, Ctrl-click open, middle-click PRIMARY paste, visual bell, and desktop notifications.

05Local-first by design.

No crash reports, no event tracking, no terminal or project data leaving the machine. An anonymous daily usage ping and once-a-day GitHub update check are on by default but one toggle away. Owner-only Unix socket, bounded config/session files, argv-based command execution. Bring your own agent CLI and keys.

Get ForkTTY

v0.2.0-alpha.14Published Jun 19, 2026Release notesSHA256SUMS

AppImage

Portable build — recommended

forktty-0.2.0-alpha.14-x86_64.AppImage
94.1 MB
Download AppImage

.deb package

Debian / Ubuntu

forktty_0.2.0.alpha.14_amd64.deb
41.6 MB
Download .deb package

Quick start

$ sha256sum -c SHA256SUMS --ignore-missing
$ chmod +x forktty-*.AppImage
$ ./forktty-*.AppImage
Build from source— Rust 1.96+, GTK4 / libadwaita, Git, Zig
$ git clone https://github.com/Lucenx9/forktty.git
$ cd forktty
$ cargo run -p forktty-ui-gtk

Early alpha: expect breaking changes between releases, and builds are unsigned — verify against SHA256SUMS. Linux x86_64 only. The AppImage is the primary portable download; the .deb is for Debian/Ubuntu. Packaged builds ship the GTK/Ghostty terminal runtime, while browser panes remain source-only behind the browser feature.

Common questions

Does ForkTTY ship with an AI model?
No. ForkTTY is bring-your-own-CLI: you install the agent of your choice, authenticate with your own keys or subscription, and ForkTTY just hosts the PTYs. Nothing is proxied.
Which agents have first-class integration?
Codex, Claude Code, Antigravity, and OpenCode have hook-driven status and persisted session metadata for the Agent HUD and resume flow. Gemini CLI remains available as a legacy opt-in target, and custom tools can still use the socket CLI.
Can I script or automate it?
Yes — that's a core feature. The same forktty binary speaks a JSON-RPC API over a user-local Unix socket and can expose it as a local stdio MCP server: list workspaces, read or capture terminal text, inspect pane trees, split/focus/send text, manage worktrees, notify, resume agents, publish status, and operate team, workflow, feed, project-action, and remote-inventory control planes.
Does it really do git worktrees?
Yes. Workspaces can be backed by isolated git worktrees that ForkTTY creates, attaches, merges, and removes via native git2 operations — with dirty-state protection and optional .forktty/setup and teardown hooks.
Are browser panes included in the downloads?
No. The alpha AppImage and .deb are GTK/Ghostty terminal builds. WebKitGTK browser panes, browser profiles, history/bookmarks, and import flows remain source-only behind the browser feature for intentional testing.
Will there be a macOS or Windows build?
Not in alpha. ForkTTY is unapologetically Linux-first; portability isn't a near-term goal.
Is anything sent to a server?
Only an anonymous daily usage ping and an optional once-a-day GitHub update check, both on by default and one toggle to disable. The ping carries just a schema tag, app name, version, and date — no crash reports, analytics, identifiers, terminal contents, or project data. A first-launch dialog shows the toggle before anything is sent. Agent CLIs talk only to whatever endpoint you configure them to.