T3 Code
How an ivar session opens in T3 Code, what it shares with Claude Code, and the write guard's limit there.
T3 Code is a desktop app that runs agents. The t3 provider opens an ivar
session's view directory as a T3 Code project, so the agent you start there
works inside the session instead of at the hall root. Setup is
harness-agnostic — see the quickstart. This page covers what
is specific to T3 Code.
It hosts Claude Code
t3 owns no config of its own. The agent in a T3 Code thread is Claude Code, so a
t3 session reads the same .claude/, CLAUDE.md and .mcp.json as a
claude-code session, and the write guard hook is the same one. For that reason
t3 requires claude-code in the hall's provider list. The memory hooks are
Claude Code's too: .claude/settings.json runs ivar memory capture --provider claude-code on each event and ivar memory brief --provider claude-code on
SessionStart. T3 Code records the session end when you archive the thread,
not when a turn finishes. See Hall memory.
ivar provider add t3ivar provider remove claude-code is refused while t3 is listed.
Start a session
ivar session start --provider t3
ivar session start checkout --provider t3The first opens a discovery session, the second a session on the checkout feature.
This runs the usual session setup, then t3 app <view dir>, which registers the
directory as a T3 Code project and opens it. It does not need a terminal, takes
no --prompt and cannot --resume: start a thread in the project and talk to it
there. If the T3 Code desktop app is not running, the session is still created and
ivar warns; open it later with ivar session connect <session>.
ivar session stop removes the project without --force. T3 Code refuses to
remove a project that holds threads, so it stays and ivar names it in a warning;
--force would delete those threads, so ivar never passes it.
ivar runs the t3 named by T3CODE_CLI_PATH, which T3 Code sets for its agents, or
else the first t3 on PATH. It needs t3 0.1.0 or newer: an older t3 is refused
with t3.version_unsupported, and ivar doctor reports it.
No kernel sandbox
A claude-code session runs under a Landlock sandbox that ivar applies when it launches the agent. A T3 Code
agent is a child of the T3 Code server, so a t3 session has no kernel sandbox: the guard hook is the only enforcement,
and a shell command can write outside the session's writable set. T3 Code's own git buttons also act on the hall
repository, not on the feature's worktrees.
Check it
ivar doctorreports a missing t3 binary, a t3 older than 0.1.0 (t3.version_unsupported) and a T3 Code server that does not answer.