Skip to content

CLI Commands ​

The tes CLI provides commands for initializing repositories, coordinating multiple AI coding agents, managing per-terminal branches, running sandboxed builds, and merging branches.

Command Overview ​

CommandPurpose
tes initInitialize Tessera in a Git repository and install AI editor rules
tes envConfigure shell prompt integration ((tes:<branch>)) and tab completion
tes switchSwitch the active terminal session or editor working tree to a branch
tes branchList (-l, -v), create, rename (-m), or delete (-d/-D) branches and sandboxes
tes claimClaim a task intent, target branch, and file paths for an agent session
tes statusShow session changes, peer changes on the same branch, and branch commits (-s/--short/--porcelain, -b)
tes diffShow unified diffs or diffstats (--stat, --name-only, --name-status, -U, -w) for the session, working tree (--all), branch, or <revA>..<revB>
tes stashSession-isolated AST stash (push, pop, apply, list, drop, clear)
tes radarShow all active AI agent and terminal sessions in real time
tes execRun a build, test, or server command inside a branch's Copy-on-Write sandbox
tes mergeSemantically merge sessions or multiple feature branches into a target branch
tes cherry-pickApply a commit (<rev>) onto the active branch via 3-way AST merge
tes commitCommit the active session's changes onto its target branch (-m, --amend, --no-edit, --author, --co-author)
tes pullFetch and fast-forward or 3-way AST-merge a remote branch while rebasing sessions
tes pushSynchronize session changes and push a branch to a Git remote
tes logShow commit history with branch refs, patches (-p), diffstats (--stat), graphs (--graph), filters (--grep, -S, --author), and pathspecs (-- <paths...>)
tes conflictsList unresolved merge conflicts
tes resolveResolve a conflicted file using ast-union, ours, theirs, or working
tes checkpointSave a named checkpoint in the operation log
tes restoreRestore a branch or specific files to a checkpoint, commit, or branch
tes undoUndo the most recent operation or roll back to a specific operation ID
tes configView or update repository configuration settings
tes session focus <id>Focus the originating terminal tab, multiplexer pane, or IDE window for an active session

Global Options ​

These options can be used with any tes command:

OptionDescription
--jsonEmit structured JSON output (never paged)
-P, --no-pagerDo not pipe output into a pager
--paginatePipe output into a pager when stdout is an interactive terminal (even for commands like tes status and tes radar that do not page by default)
-C, --repo <PATH>Run against the repository at <PATH>
-V, --versionDisplay the tes version
-h, --helpShow help for a command

By default, tes diff, tes log, tes oplog, tes branch (when listing), and tes stash list automatically pipe output through a pager (TES_PAGER -> tessera.toml pager -> GIT_PAGER -> git config core.pager -> PAGER -> less -FRX) when stdout is an interactive terminal. tes status, tes radar, and tes conflicts print directly to the terminal unless --paginate is passed.


MCP Server ​

For AI coding editors that support the Model Context Protocol (MCP), tes mcp starts a JSON-RPC 2.0 server over stdio exposing the following tools:

ToolDescription
claimClaim a task intent, target branch (branch), and file/symbol list (symbols)
statusReconcile edits and return session status and branch state
radarReturn all active agent sessions, target branches, and claimed symbols
branchList, delete (delete / force_delete), or rename (rename) branches
stashSession-isolated AST stash (push, pop, apply, list, drop, clear)
pullFetch and fast-forward or 3-way AST-merge a remote branch and rebase sessions
cherry-pick3-way AST cherry-pick a commit (rev) onto a target branch
conflictsList active structural conflicts with base, ours, and theirs snippets
resolveResolve a conflict using ast-union, ours, theirs, or working
checkpointCreate a named checkpoint in the operation log
restoreRestore a branch or file paths to a commit, branch, or checkpoint
undoRoll back the latest operation or restore to a specific op_id
syncSynchronize the current session with the latest branch HEAD
mergeCommit the session or AST-merge multiple branches into a target branch

Configuration ​

Tessera projects can be configured via tessera.toml or tes config.

See: Configuration Guide for complete documentation.