tuple connect brings an AI coding agent into your current Tuple call. It’s the fastest way to put Claude Code, Codex, Cursor, Copilot, opencode, Pi, Droid, or your own custom agent on the call with you — no MCP install, no hand-written prompt.When to use it
- You’re on a call and want an AI agent listening alongside you to help debug, make tickets on your behalf, or answer questions you ask out loud.
- You want a scripted way to launch an agent into a call from a keybinding or workflow runner.
- You’re an agent that needs to drop into the active call yourself — pipe
tuple connect --printinto your own context.
connect is for live, in-call participation.If you’re already running an MCP-aware agent and just want to attach it to the current call, invoke the /tuple:connect slash command instead — it builds the same sidekick context without launching a new harness.Prerequisites
- The Tuple desktop app is running and signed in. See the CLI overview for install and authorization steps.
- The harness you pick is on your
PATH(e.g.claude,codex,cursor-agent).tuple connectdoesn’t install the harness for you.
Quick start
~/.tuple/cli.toml.How it works
When you runtuple connect, Tuple:- Resolves call state. If you’re not on a call, you can start one or join a room. If transcription isn’t running, the interactive picker offers to start it so the agent has something to follow. (In
--harnessand--printmodes, transcription is not started for you.) - Picks a harness. On a TTY you get a picker; with
--harnessit’s chosen directly. - Builds a context prompt that includes the active call’s ID, the participants, the harness’s model/reasoning settings, and a tutorial section teaching the agent the relevant
tuplecommands — how to follow the live transcript, capture the screen, post a notification card to ask you a yes/no question, and search past calls. - Launches the harness with the prompt as its initial message. On Unix, Tuple
execs the harness so it inherits your terminal directly.
Supported harnesses
You can also point
--harness at any executable path:~/.tuple/cli.toml — see Custom harnesses below.Modes
tuple connect picks a mode automatically, but you can force one:Interactive (default on a TTY)
Shows the harness picker, resolves call state, then launches.Scripted (--harness)
Skips the picker. Useful for keybindings, scripts, or trigger handlers.--model and --reasoning override any saved per-harness settings for this launch. Unsupported flags for a harness produce a stderr warning and are ignored.Print (--print or non-TTY)
Builds the prompt and writes it to stdout instead of launching anything. Use it when you’re piping the prompt into an agent yourself, or when an agent invokes tuple connect from inside its own session to learn about Tuple’s CLI surface.--print with --harness includes the per-harness guidance in the output but does not launch the harness.Config (--config)
Opens an interactive TUI for editing the model, reasoning effort, and extra arguments saved per harness in ~/.tuple/cli.toml. You can read more about the CLI config file.--config uses the same settings walkthrough as the interactive tuple connect flow: for harnesses with a known model or reasoning option set (such as Claude Code’s opus / sonnet / haiku), you get a constrained picker with an Other… escape hatch into free text. Harnesses without a known option set fall through to a free-text prompt. After the walkthrough, --config asks whether to make the harness your default before saving and exiting — it never launches the agent.Flags
Global flags work as documented in the command reference.
Custom harnesses
Add a[harness.<name>] entry with command (an argv template) or url (a deep-link template). Both use {PROMPT} as the placeholder.--harness my-agent.Following the transcript
The prompt generated bytuple connect teaches the agent to follow the live call with tuple transcription show. It can use two modes:--follow— continuous stream of records (NDJSON with--format json), one line per speech segment or event. Best for harnesses that have a per-line wake mechanism (such as Claude Code’s Monitor).--wait— block until the next batch of transcript arrives, print it, then exit. Loop it in the foreground to follow a call from any harness, without burning tokens on every utterance.
--interval gathers transcript for up to the given duration before flushing, so the agent wakes once per minute (or whatever you choose) instead of on every utterance. --watch-words flushes the batch early — and ends the relaxed interval — when a configured word or phrase is spoken, so the agent responds immediately when you address it by name.Examples
Drop Claude Code onto the active call with a starting task:cli.toml by hand:
