What an agent can do - andreaderuvo/argus GitHub Wiki
What an agent can do in Argus
Everything you might ask Claude, Codex or Gemini to do in Argus, in one table: what it does by
itself, what it does after you tap Do it, and what it cannot do β with why, and what to do
instead. It assumes the Argus plugin (or argus-mcp, or argus-say from a
shell): the tools named here are what the agent uses.
β by itself β the agent's key allows it. π with your OK β the agent requests it; you get
the question with Do it / No β a bell (on the phone too), and a card in the bottom-right corner, on every screen, that stays
until you answer; on Do it Argus does it, through the same checks as when you do it. Nothing happens
before your tap: a team asked for in a desk is started β and its desk made β only on Do it. β no β not through Argus, on purpose.
Desks and windows
You say to the agent
How
Notes
"open a desk called Trading"
β
open_desk
made empty if there is none; every open page switches to it, and a page that was not open or not told (Argus restarting) still gets it β it is kept on the machine, not lost when that page saves its own desks
"rename the desk Desk 11 to Pippo"
β
rename_desk
refused if the name is taken
"rename the desk" (no name: the one I am in)
β
rename_desk without desk
the desk holding the agent's own session; if it is in several, it says which
"put the session kraken-risk on the desk Trading"
β
open_desk with session
a window on an existing session; nothing started
"make ~/kraken the folder of the desk Trading"
β
open_desk with folder (show: false)
where its browsers land and its new sessions start; every open page takes it. A team started in a desk with no folder gives it the team's (desk_folder in start_team: true always, false never)
"close the gone windows"
β
close_gone_windows (desk for one)
windows of ended sessions, on the machine and every open page; argus-say close-gone
"open a Claude and a Codex in Trading, in ~/work/x"
β
start_agent with desk
the windows land in that desk
"remove these windows" / "tile them"
β
β
the windows of a desk are yours: the window list, the layout menu (a whole desk: close_desk, below; windows of ended sessions: close_gone_windows)
Sessions and agents
You say
How
Notes
"who else is working here?"
β
who
every session, its agent, folder, working or waiting
"start Claude with sonnet, high effort, on this, with this prompt"
β
start_agent
options by name, from the agent's own --help: model, effort, edit files freely
"β¦in its own git worktree"
β
start_agent with worktree_branch
a checkout on its own branch, so two agents never edit one tree
"β¦with no questions at all" (--dangerously-skip-permissions, --yolo)
π
requeststart_agent
asked, unless you ticked Start an agent with no questions at all in Settings β Agents
"tell the reviewer the diff is ready"
β
relay
typed into that session, with or without Enter
"close the desk Trading"
π
requestclose_desk
its windows go from every open page; the sessions in them keep running. Not the last desk
"end the session kraken-check"
π
requestkill_session
and everything running in it
"rename the session x to y"
π
requestrename_session
"update the Argus plugin in Codex"
π
requestupdate_plugin
agent: claude or codex; the question says from which version to which. Refused when it is already the latest
"reload the plugin in the sessions"
β
requestreload_plugins
never asked: the Claude sessions waiting at their prompt get /reload-plugins; the busy ones are left alone
"read what the other agent wrote on its screen"
β
β
Argus never reads a pane (it can crash tmux on some builds); ask the other agent to write it to a file, or relay
"open a terminal into β¦"
β
β
a terminal can type anywhere; that stays with the browser
"bring back the agents lost in the reboot"
β
β
the Sessions screen offers them, one press
Teams
You say
How
Notes
"how is the team doing?"
β
teams
round, whose turn, the last check
"make me a team that β¦"
β
team_check, team_propose
written, checked, left in the folder as team.yaml; waits over your desk and in Team. See Asking an agent to design one
"start the team Kraken paper in the desk Trading"
π
requeststart_team
a proposal, one of your models, a template or the folder's team.yaml, by name; the question says the folder, the goal, which agent runs each step and what they may do; layout arranges the desk as its agents arrive (grid β the default, as in the Team sheet β cols, rows, or none)
"continue / pause the team"
π
requestteam_go / team_pause
"reset the team" / "restart it from scratch"
π
requestteam_reset / team_restart
deletes what its reset: declares β the question lists the files; restart also reads its team file again, starts from round 1 and closes the desk's windows of ended sessions. Asked unless ticked in Settings β Agents. See Pause, Stop, Reset, Restart
the question on your phone, with buttons; it waits for the tap
"ring me when you're done"
β
ring
done, failed or asking; on the phone through ntfy if you set it up
(answer its own question)
β
β
never: the point of asking is that a person answered
To-do
You say
How
Notes
"what's on my list?"
β
todos
"add: check the CI later"
β
todo_add
"work on #3 and mark it done"
β
todo_set
doing when it starts, done when it finishes; the list shows who
"take #3 off the list"
π
requesttodo_delete
Files, git, prompts
You say
How
Notes
read, write, edit files
β
the agent's own tools
it works on the disk directly, as always; Argus's file routes are for the browser
"make a worktree on branch x"
β
worktree
inside the folders Argus serves
"remove that worktree"
π
requestremove_worktree
deleting a checkout deletes work
"use my Referee prompt"
β
prompts
read only
"save this as a prompt" / "change my settings"
β
β
your preferences are read only to it
The machine and Argus itself
You say
Notes
"what's running, how loaded is it?"
β who; GET /api/overview
β the System screen's detail
"open port 5002 to my phone"
β
Ports screen: proxying a port is your call
label a process, tokens and devices, the journal, tmux config, plugin install/update, stopping Argus
β
Settings β each changes who can reach what
Letting some through without asking
Settings β Agents has a box for every action an agent can request. Ticked, it is done on
request straight away β you still get the bell saying it was done; unticked, you get Do it / No
first. Any of them can be ticked, the risky ones too (marked risky: they delete files, end work
or let agents loose) β so a team can be started or restarted by an agent with nobody at the
screen. A team whose agents ask nobody (everything) also needs Start an agent with no questions
at all ticked. The boxes are kept on the machine, in the preferences, which an agent's key can
read but never write: no agent can tick one for itself.
The same, in ~/.config/argus/config.yaml (added to what is ticked):
The list of what can be requested is GET /api/agent/actions, and the request tool's
own list of actions; from a shell, argus-say request <action> key=valueβ¦.
How a request goes
sequenceDiagram
participant You
participant A as the agent
participant Argus
You->>A: "start the team Kraken paper in the desk Trading"
A->>Argus: request start_team {team, desk}
Argus->>Argus: finds the team, its folder and goal, an agent per step
Argus-->>You: "claude-1 asks to start the team Kraken paper in β¦ β Do it / No"
You->>Argus: Do it
Argus->>Argus: the desk, then POST /api/teams with the full key
Argus-->>You: the team's window and its agents', in Trading
Argus-->>A: done
Loading
Something that cannot be done as asked β a team that does not exist, no goal, a check with no
command β is refused before you are asked, with the reason, so the agent can fix it.