CLI
The everruns CLI provides a command-line interface for managing agents, sessions, and conversations. It’s useful for scripting, automation, and quick interactions without using the web UI.
Installation
Section titled “Installation”Homebrew (macOS / Linux)
Section titled “Homebrew (macOS / Linux)”brew tap everruns/tapbrew install everrunsInstall from the Git repository:
cargo install --git https://github.com/everruns/everruns everruns-cliOr clone and build locally:
git clone https://github.com/everruns/everruns.gitcd everrunscargo install --path crates/cliVerify
Section titled “Verify”everruns --versionConfiguration
Section titled “Configuration”The CLI connects to the Everruns API. By default, it uses the hosted API at https://app.everruns.com/api.
For local development, configure the API URL:
# Via command-line flageverruns --api-url http://localhost:9300/api agents list
# Via environment variableexport EVERRUNS_API_URL=http://localhost:9300/apieverruns agents listDefault: https://app.everruns.com/api
Commands
Section titled “Commands”Agents
Section titled “Agents”Manage agent configurations.
Create Agent
Section titled “Create Agent”# Inline creationeverruns agents create \ --name "my-agent" \ --system-prompt "You are a helpful assistant." \ --tag production
# From YAML fileeverruns agents create -f agent.yaml
# From JSON fileeverruns agents create -f agent.json
# From Markdown with front mattereverruns agents create -f agent.mdYAML file format (agent.yaml):
name: "research-assistant"description: "Helps with research tasks"system_prompt: | You are a helpful research assistant. Always cite your sources.capabilities: - ref: current_time config: {} - ref: web_fetch config: {}tags: - research - assistantFor backward compatibility, you can also use the shorthand format:
capabilities: - current_time - web_fetchThe full format with ref and config allows per-agent capability configuration:
capabilities: - ref: filesystem config: allowed_paths: ["/home/user/projects"] - ref: web_browser config: {}Markdown file format (agent.md):
---name: "research-assistant"description: "Helps with research tasks"capabilities: - ref: current_time config: {} - ref: web_fetch config: {}tags: - research---You are a helpful research assistant.
Always cite your sources and provide accurate information.The markdown body becomes the system prompt. Both the full format (ref + config) and shorthand (just capability ID) are supported in markdown files.
List Agents
Section titled “List Agents”everruns agents listOutput:
ID NAME STATUSagt_550e8400e29b41d4a716446655440000 research-bot activeagt_660e8400e29b41d4a716446655440001 joke-bot activeGet Agent
Section titled “Get Agent”everruns agents get agt_xxxDelete Agent
Section titled “Delete Agent”everruns agents delete agt_xxxCapabilities
Section titled “Capabilities”List available capabilities that can be assigned to agents.
# List available capabilitieseverruns capabilities
# List all including coming sooneverruns capabilities --status all
# List only coming sooneverruns capabilities --status coming_soonOutput:
ID NAME STATUS CATEGORYcurrent_time Current Time available Utilitiesweb_fetch Web Fetch available Networksession_file_system File System available File Operationsstateless_todo_list Task Management available ProductivitySessions
Section titled “Sessions”Manage conversation sessions for an agent.
Create Session
Section titled “Create Session”everruns sessions create --agent agt_xxx
# With titleeverruns sessions create --agent agt_xxx --title "Debug session"List Sessions
Section titled “List Sessions”everruns sessions listGet Session
Section titled “Get Session”everruns sessions get ses_xxxSend a message and receive the agent’s response.
everruns chat "Tell me a joke!" --session ses_xxxOutput:
You: Tell me a joke!
Agent: Why don't scientists trust atoms? Because they make up everything!Options:
--timeout <seconds>- Max wait time for response (default: 300)--no-stream- Send message and exit without waiting for response
Output Formats
Section titled “Output Formats”The CLI supports multiple output formats for scripting:
# Default text formateverruns agents list
# JSON formateverruns agents list --output json
# YAML formateverruns agents list --output yamlQuiet Mode
Section titled “Quiet Mode”Suppress non-essential output:
# Only output the created agent IDeverruns agents create -f agent.yaml --quiet# Output: agt_550e8400e29b41d4a716446655440000Examples
Section titled “Examples”Complete Workflow
Section titled “Complete Workflow”# 1. Create an agent and extract ID with jqAGENT_ID=$(everruns agents create \ --name "assistant" \ --system-prompt "You are a helpful assistant." \ -o json | jq -r '.id')
# 2. Create a sessionSESSION_ID=$(everruns sessions create --agent $AGENT_ID -o json | jq -r '.id')
# 3. Chat with the agenteverruns chat "What time is it?" --session $SESSION_IDUsing Agent Files
Section titled “Using Agent Files”# Create agent.mdcat > agent.md << 'EOF'---name: "code-reviewer"description: "Reviews code and suggests improvements"capabilities: - ref: current_time config: {} - ref: filesystem config: allowed_paths: ["/workspace"]tags: - development---You are an expert code reviewer.
When reviewing code:1. Check for bugs and edge cases2. Suggest performance improvements3. Ensure code follows best practicesEOF
# Create the agenteverruns agents create -f agent.mdJSON Output for Scripting
Section titled “JSON Output for Scripting”# Get agent details as JSON and extract with jqeverruns agents get agt_xxx --output json | jq '.tags'
# List agents and filtereverruns agents list --output json | jq '.data[] | select(.status == "active")'