Skip to content

Command line

Every athanore command, its arguments and its options, walked off the command tree itself. What the verbs are for, and how one reaches a server, is in Using the command line.

athanore

Code-defined AI agent workflows over the Agent Client Protocol.

  • --url: The server to talk to. Defaults to http://127.0.0.1:4002.
  • --token: The operator token. Not needed against a loopback server; ATHANORE_TOKEN and athanore login are the other two ways to give it.
  • --json: Print the API's JSON instead of a table.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.

athanore answer

Answer a request: an option id, some text, or a JSON object.

  • REQ (required): The request id.
  • ANSWER (required): An option id, the text, or the JSON object for a form.

athanore cancel

End a run and every attempt still outstanding under it.

  • RUN (required): The run id.

athanore db

Migrate, copy, and import a database.

athanore db backup

Copy a live SQLite database consistently.

  • PATH (required): Where to write the copy. Must not exist.
  • --db URL: The database to act on. Defaults to the configured one.

athanore db current

Print the revision the database is stamped with.

  • --db URL: The database to act on. Defaults to the configured one.

athanore db import-v0

Import an MVP database into a v1 one.

  • SOURCE (required): The MVP database to read. Opened read-only, never written.
  • --db URL: The database to act on. Defaults to the configured one.

athanore db upgrade

Migrate the database to the newest revision.

  • --db URL: The database to act on. Defaults to the configured one.

athanore deny

Refuse what a permission request is asking to do.

  • REQ (required): The request id.

athanore edit

Change a run's title, its description, or both.

  • RUN (required): The run id.
  • --title: The new title.
  • --description: The new description.

athanore login

Store a server's URL and operator token for later verbs.

  • URL (required): The server to store a token for, e.g. http://host:4002.
  • --token: The token to store. Prompted for, hidden, if not given.

athanore logs

A run's events: its history, and with -f what happens next.

  • RUN (required): The run id.
  • --follow, -f: Keep printing events as they happen.

athanore ls

List the runs, in the order the scheduler will claim them.

  • --status: Only runs in this status.
  • --workflow: Only runs of this workflow.
  • --watch: Redraw the list as runs change, until Ctrl-C.

athanore move

Move a task's work to another node, cancelling the attempt it left.

  • TASK (required): The task id.
  • NODE (required): The node to enqueue the work at.

athanore open

Open the operator interface in a browser.

  • RUN: The run to open; the run list without one.

athanore pause

Stop a run dispatching; an attempt already in flight finishes.

  • RUN (required): The run id.

athanore permit

Allow what a permission request is asking to do.

  • REQ (required): The request id.
  • OPTION: The option id to answer with; picked by kind without one.

athanore position

Move a run in the dispatch list.

  • RUN (required): The run id.
  • up|down|INDEX (required): Swap with a neighbour, or move to a zero-based index.

athanore requests

The requests waiting on a person, across every run or in one.

  • RUN: Only the requests of this run.

athanore rerun

Queue a fresh attempt of a node, with the payload it last had.

  • RUN (required): The run id.
  • NODE (required): The node to run again.

athanore resume

Let a paused run dispatch again.

  • RUN (required): The run id.

athanore retry

Queue another attempt of a task that has stopped.

  • TASK (required): The task id.

athanore rm

Delete a run and everything stored under it.

  • RUN (required): The run id.
  • --yes, -y: Do not ask; for a script.

athanore serve

Run a server for the given workflows until it is stopped.

  • [TARGET]...: Workflows to run, as module:wf or path/to/file.py:wf.
  • --host: Interface to bind. Defaults to 127.0.0.1.
  • --port: Port to bind; 0 picks a free one.
  • --workers: Capacity of the default pool.
  • --db URL: Database URL to serve.
  • --no-discover: Do not register entry-point workflows.
  • --public-url URL: The URL agents and MCP sessions are told to call back on.
  • --open: Open the SPA in a browser once it is serving.

athanore set-status

Write one of the three statuses an operator may set on a task.

  • TASK (required): The task id.
  • STATUS (required): ready re-dispatches, cancelled stops, dead_letter files it as failed for good.

athanore show

A run, its attempts and its work log.

  • RUN (required): The run id.

athanore stream

One attempt's agent transcript.

  • TASK (required): The task id.
  • --follow, -f: Keep printing the transcript as it grows.

athanore submit

Queue a run of a workflow.

  • WORKFLOW (required): The workflow to run.
  • TITLE (required): The operator's title for the run.
  • DESCRIPTION (default: ''): Longer context; the workflow's input.

athanore token

Show or rotate the operator token.

athanore token rotate

Generate a new operator token and store it 0600.

athanore token show

Print the operator token this installation would use.

athanore workflows

The workflows this server runs, and the verbs that change the set.

athanore workflows add

Register a workflow on the running server, from a target.

  • TARGET (required): The workflow to register: module:attr or path/to/file.py:attr.
  • --pool: Bind it to this pool; the default pool otherwise.
  • --persist: Write the registration to the server's athanore.toml too.

athanore workflows reload

Load a registered workflow again, so the next task runs the new code.

  • NAME (required): The registered workflow to reload.
  • TARGET: The target to load it from; what the server loaded it from when omitted.
  • --pool: Move it to this pool; keep its pool otherwise.
  • --persist: Rewrite the registration in the server's athanore.toml too.

athanore workflows rm

Unregister a workflow, interrupting whatever it was running.

  • NAME (required): The registered workflow to remove.
  • --persist: Remove its registration from the server's athanore.toml too.