Cocurdex

Devices and local web

Open Cocurdex in a browser on this computer, pair another device, or use the iOS and Android app on the same daemon.

The desktop app is the host. Settings → Devices lets you use that same host from a browser — on this computer, or on another device you pair — and from the iOS and Android app.

Nothing here replaces the daemon. The browser and the phone app talk to the Cocurdex instance already running on the machine; that connection does not create a second workspace or a cloud account.

Open in browser (this computer)

Settings → Devices → Open in browser loads the local web client against the same workspaces and sessions as the desktop app.

The CLI prints that URL:

cocurdex web

The desktop app must be running so the daemon can serve the client. The URL includes a local token; treat it like access to this machine.

Remote access

Off by default. Allow remote devices lets paired devices on your LAN or Tailscale tailnet connect to this computer.

  • The UI lists reachable LAN and Tailscale addresses when they exist.
  • You can set the listen port (default is shown in the field).
  • Connections are not encrypted. Use a trusted network or Tailscale.

From the CLI:

cocurdex host status
cocurdex host remote enable [--port <port>]
cocurdex host remote disable

Pair a device

Pair device creates a one-time code. On another browser, open the pairing link or enter the code on the Pair this browser screen. On the iOS or Android app, paste that link into Pair a Computer (the field is Pairing link, then Pair). The app adds that computer, selects it, and you continue on Sessions.

SettingMeaning
Device nameLabel shown in the paired-devices list
Code valid for10, 30, or 60 minutes
PermissionsWhat the new device may do (below)

Turn remote access on first if you want a link the other device can open. Codes work once. Pending pairings appear under Pending pairings until they expire or you Cancel them.

cocurdex host pair --label "My phone" [--scopes read,interact,approvals] [--ttl <minutes>]
cocurdex host pairings
cocurdex host pairing cancel <pairing-id>

Default CLI scopes are read, interact, and approvals.

What a paired device may do

You choose scopes when pairing. Host administration (change app settings and manage devices) stays on this computer and cannot be granted to a paired device.

PermissionLets the device
ReadSee sessions, messages, notes, issues, and decks
InteractSend messages, stop sessions, and edit notes, issues, and decks
ApprovalsAnswer permission requests, questions, and plan approvals
Start workStart sessions, teams, and script runs
Read filesRead workspace files, diffs, and Git status, and outline a PowerPoint file inside a workspace
Write filesEdit workspace files, stage, commit, and write a deck export into a workspace
Destructive GitDiscard changes, check out branches, and push
CredentialsManage provider logins, API keys, and MCP servers

Revoke a device at any time from Paired devices. It disconnects immediately and must pair again to reconnect.

cocurdex host devices
cocurdex host revoke <device-id>
cocurdex host audit [--limit <n>]

Access log records pairing, revoke, and remote-access changes on this host.

Native app

The iOS and Android app has two tabs: Sessions and Computers. Computers lists paired computers. Sessions is the live list for the computer named in the toolbar.

With no computer paired yet, Sessions shows No Computers and Pair a Computer. After you pair, open the computer name in the toolbar to switch hosts, or choose Pair a Computer to add another.

Rows are grouped by workspace. Search sessions filters the list. A child session rolls its state up to the root row:

StatusMeaning
Needs youA permission, question, or plan is waiting
RunningThe session is still working
UnreadA result is finished and not yet opened

The line under the title is more specific — for example Waiting for your approval, Has a question for you, Plan ready for review, Working…, Connecting…, Working in the background, or Finished. A failed run shows Run failed.

If the phone cannot reach the computer but already has a list, it keeps that list and shows Can't reach the computer's name. Showing the last update. With nothing loaded yet, the screen is Can't reach that computer, Check that the computer is awake and on the same network., and Try Again. A computer with no sessions shows No Sessions — Sessions you start on that computer appear here. A search with no matches shows No sessions match the query.

Open a row and the tab bar hides. The back button reads Sessions. The header is the session title, with the workspace and model under it. The transcript updates as the agent runs: your messages, the assistant's messages, and tool calls.

Assistant messages are Markdown. Tables render. A fenced code block shows the language, a copy button, and syntax highlighting. Math is disabled.

The composer placeholder is Reply to the agent. Send posts the message. While the session is running and the field is empty, that control is Stop. Sending and stopping need the Interact permission from pairing.

When the agent is waiting, a dock at the bottom replaces the composer:

  • A permission request, with the choices the agent offered.
  • A question. Type Your answer and tap Reply, or pick an offered choice. The title is The agent has a question when the agent did not set its own.
  • A plan, titled Review the plan. Approve accepts it. Keep Planning sends the agent back to planning.

Paired without Approvals, that dock shows Approve this on your computer and This phone was paired without approval access. Finish the approval on the computer.

On this page