Local status API
- Desktop app
- All plans
What it does
A read-only HTTP endpoint on your own computer that your tools (a status bar, a terminal dashboard, a script) use to read the live status of your agents and the backlog of your projects, without spawning AgentsRoom's internal MCP server. Its address and a token are published in a file at a fixed path, ~/.agentsroom/local-api.json, so a client never depends on where the app is installed (an AppImage mount changes on every launch). Responses are versioned JSON under /v1/: within v1, fields and values are only ever added.
Where to find it
Desktop: Settings > Dev tools > Local status API. Off by default. Once on, the row shows the listening address and the path of the discovery file. API reference opens this page.
How to use it
- Turn on Local status API.
- Read
~/.agentsroom/local-api.json(Windows:%USERPROFILE%\.agentsroom\local-api.json). It holdsapiVersion,url(http://127.0.0.1:<port>),port,token,pidandupdatedAt. - Call an endpoint with the token:
f=~/.agentsroom/local-api.json
curl -s -H "Authorization: Bearer $(jq -r .token "$f")" "$(jq -r .url "$f")/v1/agents?project=$PWD"
Endpoints, all GET:
/v1: API version and app version, a health check./v1/projects: the projects open in AgentsRoom (id,name,path) withagentStatusCounts, for example{ "busy": 2, "waiting_input": 1 }./v1/agents?project=<path or id>: every agent of the project (the agent a trigger starts for one run only while its console is open, as inagents_list_live), withid,name,role,temporary,status,provider,model,sessionTitle,lastActivity,backlogTaskId,workPhase,blockedReason,startedAt,updatedAt./v1/backlog?project=<path or id>&status=todo,in_progress&limit=200: tickets in board order, withid,title,status,type,tags,agentId,agentName,teamId,position,createdAt,updatedAt,completedAt; plustotal,count,fetchedAtandstale.limitgoes up to 1000, 200 by default.
project takes the project folder (any sub-folder works, so $PWD from inside a repository is enough) or the id listed by /v1/projects.
Agent status is one of offline, starting, idle, busy, waiting_input, blocked, rate_limited, degraded, failed. Ticket status is one of todo, in_progress, pending, in_review, done. Treat a value you do not know as "unknown": new ones can appear within v1.
Errors are JSON too: { "apiVersion": 1, "error": { "code": "...", "message": "..." } }. Codes: unauthorized (401), forbidden (403), not_found (404), method_not_allowed (405), invalid_parameter and project_required (400), project_not_found (404), project_ambiguous (409: several open checkouts share that id, ask by path), backlog_unavailable (502), not_signed_in (503), internal_error (500).
Settings
localStatusApiEnabled(global, Settings > Dev tools > Local status API): starts the listener. Default off. Machine-local, never synced with the account: it opens a port on this computer only.
Agent tools (MCP)
None of its own. An agent can switch it with settings_set on localStatusApiEnabled, when the user asks for it. Inside AgentsRoom, agents keep reading the same data with agents_list_live and backlog_list.
Providers
All providers, no difference: the status comes from each agent's console, whatever its CLI.
Mobile
Not on the mobile app: the endpoint serves programs running on the computer next to AgentsRoom. The phone already shows the same agent status and backlog in the app itself.
Limits
- Loopback only (
127.0.0.1): never reachable from another machine. A request from a web page (it carries anOriginheader) or naming anotherHostis refused. - The port and the token change every time the listener starts (app launch, switch turned on). On a 401 or a refused connection, read the file again. No file means the app is closed or the API is off.
- Agent data is at most about one second old. The backlog comes from your account through the app's own session: cached 15 seconds, served from the last good copy with
stale: truewhen agentsroom.dev cannot be reached, and it needs the app to be signed in. - Read-only by design: nothing can be started, changed or sent through it.
- The file follows the app data folder:
AGENTSROOM_DATA_DIRmoves it, development builds use~/.agentsroom-dev/.
Common questions
- Can my status bar show which agents are waiting for me? Yes: poll
/v1/projectsand readagentStatusCounts.waiting_input, or/v1/agentsfor their names. - Why not run the MCP server myself? Its path and its payloads are internal and change between releases. This endpoint is the supported, versioned contract.
- Does it work while AgentsRoom is closed? No. It serves the app's live state, and the file is removed when the app quits.
- Can other accounts on the computer read my backlog? No. The token sits in a file only your user account can read, and the listener answers nothing without it.
- Are the ids the same as the ones agents see? Yes: agent ids match
agents_list_live, ticket ids matchbacklog_list.
Related
- Agent Status Tracking: what each agent status means in the app.
- Backlog Task Board: the board the tickets come from.
- AgentsRoom MCP: the tools agents use inside AgentsRoom.