T3 Code GUI panes
T3 Code gives you a graphical coding agent beside terminal-based CLIs. Ghostex hosts T3 as a native web pane inside the same splitter layout as Ghostty terminals and browser tabs.
What it is
T3 Code is a GUI-first coding agent. In Ghostex it appears as a first-class workspace pane — not a terminal command — backed by the managed t3code-server runtime packaged with the macOS app under Contents/Resources/Web/t3code-server.
T3 panes live inside project groups next to Ghostty terminals and Chromium browser tabs. They support the same native pane chrome: splits, merges, drag-to-reorder headers, pop out, and sidebar session cards with T3 identity.
How it works
Creating a T3 pane follows a dedicated native path:
- Ghostex records a T3 session in the active project workspace (not a shell process).
- The sidebar posts startT3CodeRuntime with the project cwd.
- AppKit mounts a WKWebView pane and loads the managed T3 Code app (default origin http://127.0.0.1:3774).
- The pane focuses immediately and publishes to the sidebar like any other session card.
Ghostex does not launch npx --yes t3 inside a terminal for embedded panes. The standalone T3 CLI opens its own browser window, which would bypass Ghostex’s embedded workspace model.
Restored T3 cards survive app restarts. Focusing a sleeping or restored T3 session recreates the web pane and runtime instead of only sending focus to a missing native surface.
Opening a T3 pane
- Choose T3 Code from the default agent list in the sidebar (first entry in the built-in order).
- Use pane split/merge controls the same way you would for a terminal or browser tab.
- Project headers and group actions can target the active project before creating the pane.
- First-launch guidance describes T3 as the GUI option that also supports splitting.
T3 sessions are scoped to the active project’s filesystem path. Each pane carries thread metadata (threadId, workspaceRoot, serverOrigin) so restore and remote-access flows can reconnect to the correct runtime.
T3 vs terminal agents
| Option | What it does |
|---|---|
Surface | Native WKWebView GUI pane, not a Ghostty terminal surface. |
Launch path | Managed t3code-server runtime started by Ghostex; no terminal npx launch for embedded panes. |
CLI hooks | T3 uses Ghostex’s managed runtime and does not need the CLI resume-hook setup required by Codex, Claude, and other terminal agents. |
Settings → Agents | Hook setup panels list terminal agents only. T3 is intentionally excluded from hook installation UI. |
Companion panes | When you open the embedded code editor, Ghostex can keep the active terminal or T3 session visible as a left companion pane. |
Runtime packaging and status
Settings → Integrations shows a T3 Code Runtime status row:
- Bundled: T3 Code runtime is packaged with this app build.
- Development: T3 is using an explicit development checkout (VSMUX_T3CODE_REPO_ROOT).
- Missing: Reinstall Ghostex or rebuild so Web/t3code-server is packaged.
Startup failures surface as sidebar row errors and toasts instead of failing silently. Installed builds retain in-flight startup instead of spawning duplicate runtimes when multiple panes request T3 at once.
Pane layout and chrome
T3 panes share the native workspace layout system with terminals and browsers:
- Drag pane headers to reorder tabs within a split.
- Split horizontally (Cmd+D) or vertically (Cmd+Shift+D) like terminal panes.
- Pop out a pane with Ctrl+Shift+O (configurable in Settings → Hotkeys).
- Browser and T3 panes expose creation, split, and merge controls through the same title-bar action model.
- Remote browser panes are local-only; T3 remote access uses a separate browser-access link flow when enabled.
Options and settings
| Option | What it does |
|---|---|
T3 Code Runtime (Integrations) | Read-only status for whether the managed runtime is bundled, in development, or missing. |
autoSleepAgentSessionsEnabled | Auto Sleep → agent sessions (opt-in, default off). T3 is not a terminal agent session, but browser/T3 auto-sleep policies are separate from terminal agent auto-sleep. |
Sidebar agent list | T3 Code (agentId t3) is a built-in default agent with icon t3 and display name T3 Code. |
Keyboard shortcuts
Ghostex workspace shortcuts that apply while a T3 pane is focused:
| Option | What it does |
|---|---|
Alt+1 | Switch workarea to Agents view (default, configurable). |
Cmd+D / Cmd+Shift+D | Split the focused pane horizontally or vertically. |
Ctrl+Shift+L | Rotate panes clockwise in the focused group. |
Ctrl+Shift+R | Reload the focused pane session. |
Ctrl+Shift+O | Pop out the focused pane. |
T3 Code’s own keybindings are configured inside the T3 app (Settings → Keybindings). Some shortcuts may be claimed by the browser host before T3 sees them; the T3 settings UI notes that desktop builds behave differently from pure browser tabs.
CLI commands
There is no ghostex t3 public CLI for creating GUI panes. T3 panes are created from the Ghostex UI.
The default sidebar agent registry still documents the upstream command:
# Default sidebar entry (not used for embedded pane creation)
agentId: t3
command: npx --yes t3Remote session inventory can list active T3 sessions for daemon management, but pane creation remains a macOS-local native action.
Tips
- Pick T3 when you want GUI threads, inline diffs, and visual project navigation; keep terminal agents for Codex/Claude-style CLI workflows.
- If a T3 pane stays on Loading T3 Code…, check Integrations for a missing runtime and reinstall the app build.
- Split T3 beside a Ghostty terminal when you want GUI edits on one side and CLI agent output on the other.
- T3 panes persist in their project group — they are not isolated in a separate Browsers sidebar section.
- Use Remote Access from T3 only after the managed runtime reports ready; Ghostex shows an error toast if startup is still in progress.