Multiplayer Mode, built on Remote Control (RC), lets you and the people you invite use an agent on your own computer from the Hub in a desktop or mobile browser. The agent, project files, runtime login, and model configuration stay on the device. The browser connects through the Hub; live conversation events and saved session history are sent to it.
A machine is a computer running the AgentGit daemon, agitd. A workspace
connects that machine to project folders and the people allowed to use them.
Device access is separate from a project’s local Agent repo binding.
1. Prepare the machine
Install AgentGit on the computer where your code lives. Install and sign in to at least one supported runtime there: Claude Code, Codex, or OpenCode. For example, check Codex from the terminal that will start the daemon:
agit --version
codex --version
agit login --hub https://agent-git.com
agit whoami --check
Use claude --version or opencode --version for those runtimes. Run a small
prompt in that runtime to verify its provider login. AgentGit login authorizes
the Hub connection; it does not sign in to your model provider.
2. Start Remote Control
agit login
agit rc start --detach
On first use, follow the sign-in prompt. AgentGit registers this device and enables inbound control for your own account automatically. No pairing code, manual enrollment, or configuration edit is needed. Other accounts cannot connect unless you explicitly grant access.
--detach runs the daemon in the background. Omit it to keep the daemon in the terminal.
Add --name work-laptop to choose a recognizable name.
Open Workspaces and sign in with the same Hub account. Both registration and a running daemon are required for an online device.
Use CLI 0.2.1 or later
for this onboarding flow. Run agit upgrade if needed. Linux 0.2.0 devices
already connected through peer/Cloud remain supported; its old default startup path
requires an upgrade. Native Windows uses the current CLI directly, without WSL.
Keep the machine awake, online, and the daemon running. Closing a browser tab does not stop a supervised agent. Stopping the daemon ends its running sessions.
3. Open your workspace and choose a folder
Once the device connects, open Workspaces and choose Create one; with a single connected device it is already selected. Open the workspace and use + folder to choose your project directory. You can create additional workspaces or select a different device in workspace settings. A workspace without a device displays No device and keeps its saved conversations available.
Binding a folder makes that project available within the workspace, subject to
workspace roles and the device’s resource policy. The Hub asks which private Agent repo its
sessions go to, offering the folder’s existing destination first (including one chosen with
agit project bind), and creates a new one in your namespace if you name one. An organization’s
private repo you can write is accepted too; the choice shows who can read each repo. Session
branches save conversation history there. Your project’s code repository stays
in its original folder; binding does not upload its .git repository.
The daemon checks project paths and routes approvals according to the workspace role. A folder binding is not an operating-system sandbox for arbitrary shell commands; review tool requests before authorizing them.
4. Start or continue a session
Open the workspace’s live view. Under Projects, choose the runtime button beside your bound folder to start a session. Send a prompt and read streamed replies, tool activity, and approval requests. Available controls depend on the machine’s runtime capability report.
To continue, select an existing session under its project. On this machine also lists discovered local conversations. A conversation marked live elsewhere · watch remains read-only while another application controls it.
Collaborate and answer approvals
Under Shared with, the owner or any full-access collaborator can create an invitation link and choose the role it grants: Viewer unless they pick Operator or Full access. Anyone holding the complete link can sign in, choose Join, and add their account to the workspace with that role; joining never lowers a role the account already has. Workspace repository ownership stays with the founding account.
Invitation links expire and can be revoked from the same panel. Revoking a link stops future joins; remove a collaborator from the member list to end their existing access. A removed collaborator cannot reuse an invitation they already redeemed to regain access.
You can also invite a Hub username, choosing the role the same way:
| Role | What the person can do |
|---|---|
| Full access | Bind folders, manage members, use the machine’s file browser and terminal, and answer owner-required approvals |
| Operator | Start or drive sessions in bound projects and answer approvals that the daemon delegates to operators |
| Viewer | Read workspace sessions without sending prompts or approving tools |
In Codex conversations, commands run without asking, so an operator’s messages can read files anywhere on the machine and its environment variables, such as API keys.
Approvals marked as requiring the owner can be answered by the owner or a full-access collaborator. An operator cannot grant themselves broader permissions. Runtime permission modes are capability-dependent; controls that loosen protection are owner-only. Runtime support describes OpenCode’s single-request approval policy and limitations.
Workspace membership is also bounded by the device’s resource policy. Registering
the device automatically permits its owner; it does not authorize every workspace
member. A device owner can inspect agit rc cloud policy and use
agit rc cloud grant --help to grant a collaborator access to a specific project
or session. Use the collaborator’s immutable Hub account ID for that policy.
Stop or disable remote access
| Command | Effect |
|---|---|
agit rc status |
Inspect the local daemon and its live sessions |
agit rc cloud status --hub https://agent-git.com |
Inspect Cloud registration and inbound access |
agit rc list |
List Cloud devices available to your Hub account |
agit rc stop |
Stop the daemon and end its supervised sessions |
agit rc start --detach |
Start the daemon and enable inbound access for your account |
agit rc revoke <device-id> |
Revoke the selected Cloud device credential |
agit rc cloud inbound --hub https://agent-git.com --enabled false |
Disable inbound Cloud connections |
Disabling access or revoking a device keeps saved workspace and conversation records.
Revocation invalidates the device credential; the device needs a new Cloud registration
before reconnecting. To pause access without revoking that credential, disable inbound
connections and run agit rc start --detach when you want to enable them again.
Troubleshooting
| Symptom | What to check |
|---|---|
| No machine appears | Check agit rc cloud status --hub https://agent-git.com and agit rc status; the browser and CLI must use the same Hub and account |
| Machine is offline | Wake it, restore its network, and check the daemon; use a foreground start to inspect connection errors |
| Runtime is “Not found” | Install its executable on the daemon’s PATH, then stop and restart the daemon |
| Runtime is “Not reported” | Update AgentGit with agit upgrade, restart the daemon, and reload the live view |
| Runtime starts but cannot answer | Check that runtime’s provider configuration and login on the machine |
| Input is read-only | Check whether you are a viewer or watching a conversation active in another terminal |
| Tool is waiting for the owner | Ask the workspace owner to review the approval; reconnecting does not delegate it |
| Reply is visible but save failed | Read the save error, inspect the selected branch with agit log, and verify publication separately |
For a network that requires an HTTP CONNECT proxy, start the daemon with the proxy environment in that same shell:
HTTPS_PROXY=http://proxy.example.com:8888 agit rc start --detach
Use your proxy’s address. Secure WebSockets use HTTPS_PROXY; ALL_PROXY is a
fallback and NO_PROXY can bypass selected hosts. Lowercase forms are also
supported, with uppercase taking precedence. The proxy URL must use http://;
HTTPS and SOCKS proxy URLs are not supported by the RC transport. TLS still
verifies the Hub certificate inside the tunnel. Restart the daemon after
changing its environment.
To reconnect a revoked device intentionally, sign in as its owner on that machine and run
agit rc start --detach. The peer startup CLI restores the device registration used by its
workspaces. Background retries cannot restore revoked access. Healthy restarts preserve
credentials and existing device grants.