Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hellofriday.ai/llms.txt

Use this file to discover all available pages before exploring further.

The friday CLI is how you interact with Friday from the terminal. It’s a thin HTTP client over localhost:18080 — every subcommand maps to one or more daemon routes. Use it to manage spaces, trigger signals, send prompts, publish skills, and control the daemon.
You can also access the CLI from Friday Studio using the built-in web terminal or the CLI cheatsheet (press Shift+?).

Spaces

friday workspace list

List all registered spaces.
friday workspace list
friday workspace list --json
Aliases: friday workspace ls, friday w list, friday work list

friday workspace add

Register a space from a directory containing a workspace.yml file.
friday workspace add -p /path/to/workspace
friday workspace add -p . --name my-space
friday workspace add --scan /projects --depth 2
FlagDescription
-pPath to workspace directory (required)
--scanScan a directory recursively for workspaces
--depthMaximum scan depth (default: 3)
--name, -nOverride space name
--description, -dAdd a description

friday workspace status

Show space configuration and details.
friday workspace status -w my-space
FlagDescription
-wSpace ID or name (required)

friday workspace remove

Remove a space from the registry. Does not delete the directory.
friday workspace remove -w my-space --yes
Aliases: friday workspace rm, friday workspace delete
FlagDescription
-wSpace ID or name (required)
--yesSkip confirmation

friday workspace cleanup

Remove spaces whose directories no longer exist on disk.
friday workspace cleanup --yes

Signals

friday signal list

List configured signals for a space.
friday signal list -w my-space
friday signal list -w my-space --json
Alias: friday sig list
FlagDescription
-wSpace ID or name

friday signal trigger

Trigger a signal manually.
friday signal trigger -n my-signal -w my-space
friday signal trigger -n deploy --data '{"branch": "main"}'
friday signal trigger -n test --all
friday signal trigger -n my-signal -w my-space --stream
Aliases: friday signal fire, friday signal send The --data flag takes a JSON payload directly — no {"payload": ...} envelope needed, the CLI adds it.
FlagDescription
-nSignal name (required)
--dataJSON payload
-wTarget space
--allTrigger across all spaces
--excludeSpace IDs to skip (with --all)
--streamStream execution events in real time (SSE)

Sessions

friday session list

List active and recent sessions.
friday session list
friday session list --workspace my-space --json
Aliases: friday ps, friday sesh list
FlagDescription
--workspaceFilter by space name or ID
--jsonOutput as JSON

friday session get

Get details for a specific session.
friday session get sess_abc123
friday session get sess_abc123 --json
Aliases: friday session show, friday session describe

friday session cancel

Cancel a running session.
friday session cancel sess_abc123 --yes
Aliases: friday session kill, friday session stop
FlagDescription
--forceForce cancel
--yesSkip confirmation prompt

Agents

See built-in agents for the full list of agents that ship with the platform.

friday agent list

List available agents.
friday agent list
friday agent list -w my-space --json
friday agent list --user
FlagDescription
-wFilter by space
--userList user-built agents from the Friday home agents/ directory
--jsonOutput as JSON

friday agent describe

Show detailed information about an agent.
friday agent describe -n slack
friday agent describe -n my-agent -w my-space
Aliases: friday agent show, friday agent get
FlagDescription
-nAgent name (required)
-wSpace ID or name

friday agent exec

Execute an agent via the Studio playground and stream results. Useful for testing agents in isolation before wiring them into a workflow.
friday agent exec my-agent -i "Summarize the latest PRs"
friday agent exec my-agent -i "Check status" --json
friday agent exec my-agent -i "Deploy" --env "ENV=staging,TOKEN=xxx"
Requires the Studio to be running at http://localhost:15200. Alias: friday agent x
FlagDescription
<agent>Agent ID (positional, required)
-iInput prompt (required)
--jsonOutput raw SSE events as NDJSON
--urlStudio URL (default: http://localhost:15200)
--envEnvironment variables as KEY=VALUE,KEY2=VALUE2

Skills

friday skill list

List published skills.
friday skill list
friday skill list --namespace tempest
friday skill list --query "code review"
FlagDescription
--namespaceFilter by namespace
--querySearch query
--allInclude disabled skills

friday skill get

Get skill details.
friday skill get -n @tempest/pr-code-review
FlagDescription
-nSkill name in @namespace/name format (required)

friday skill publish

Publish a skill from a directory containing a SKILL.md file.
friday skill publish -p /path/to/skill
friday skill publish -p . --name @tempest/my-skill
Alias: friday skill pub
FlagDescription
-pPath to skill directory (default: .)
--nameOverride skill name from SKILL.md frontmatter

friday skill versions

List all versions of a skill.
friday skill versions -n @tempest/pr-code-review

Library

friday library list

List stored artifacts and templates.
friday library list
friday library list --tags csv,reports --limit 20
friday library list --since 2026-01-01
Alias: friday library ls
FlagDescription
--tagsFilter by tags (comma-separated)
--sinceFilter by date
--limitMax results (default: 50)
--workspaceFilter by workspace path

friday library get

Get a specific library item by ID (supports partial ID prefix).
friday library get abc123
friday library get abc123 --content
FlagDescription
--contentInclude item body in output

Artifacts

friday artifacts list

List artifacts by space or chat.
friday artifacts list --workspace my-space
friday artifacts list --chat chat_abc123 --limit 50
Must provide at least one of --workspace or --chat.
FlagDescription
--workspaceFilter by space
--chatFilter by chat
--limitMax results (default: 100)

friday artifacts get

Get a specific artifact by ID.
friday artifacts get art_abc123
friday artifacts get art_abc123 --revision 2
FlagDescription
--revision, -rSpecific revision (default: latest)

Chat and prompts

friday prompt

Send a prompt to the Friday conversation agent.
friday prompt "Summarize last week's PRs"
friday prompt "Continue from earlier" --chat chat_abc123
friday prompt "Hello" --workspace my-space
Alias: friday p Default output is NDJSON — the cli-summary line at the end carries the chatId for continuation.
FlagDescription
-w, --workspaceScope the chat to a specific space
--chatContinue an existing chat by ID
--humanHuman-readable output

friday chat

View chat transcripts. Without an ID, lists recent chats.
friday chat
friday chat chat_abc123 --human
friday chat --limit 50
Alias: friday ch
FlagDescription
--humanHuman-readable output
--limitMax chats to list (default: 25)
--show-promptsInclude system prompt context in output

Logs

friday logs

Query daemon logs with filtering.
friday logs --since 5m --level error
friday logs --session sess_abc123 --human
friday logs --workspace my-space --since 1h
Reads logs from the Friday home directory (global.log and workspaces/*.log). Duration formats: 30s, 5m, 1h. Level can be comma-separated (error,warn). Alias: friday log
FlagDescription
--sinceTime filter (e.g., 30s, 5m, 1h)
--levelFilter by level: debug, info, warn, error
--humanHuman-readable output
--chatFilter by chat ID
--sessionFilter by session ID
--workspaceFilter by space ID

Daemon

friday daemon start

Start the Friday daemon.
friday daemon start --detached
friday daemon start --detached --port 18080
Alias: friday daemon run
FlagDescription
--portPort to listen on (default: 18080)
--hostnameHostname to bind (default: 127.0.0.1)
--detachedRun in background
--max-workspacesMax concurrent space runtimes (default: 10)
--idle-timeoutIdle timeout in seconds (default: 300)

friday daemon stop

Stop the daemon gracefully.
friday daemon stop
friday daemon stop --force
FlagDescription
--forceForce stop even if spaces are active

friday daemon status

Check if the daemon is running.
friday daemon status
friday daemon status --json
Exits 1 if the daemon is down — useful as a guard:
friday daemon status || friday daemon start --detached

friday daemon restart

Stop, wait 3 seconds, start detached.
friday daemon restart
friday daemon restart --force

Global options

Most commands support:
FlagDescription
--jsonOutput as JSON instead of human-readable text
--portTarget a specific daemon port (default: 18080)

Version

friday version

Common patterns

# Guard: start daemon if not running
friday daemon status || friday daemon start --detached

# Send a prompt and continue the conversation
CHAT_ID=$(friday prompt "hello" | jq -r 'select(.type=="cli-summary") | .chatId')
friday prompt --chat "$CHAT_ID" "follow up"

# Fire a signal and stream execution in real time
friday signal trigger -n my-signal -w my-space --data '{}' --stream

# Correlate logs with a session
friday logs --session sess_123 --human --since 5m

# Cancel the most recent active session
SID=$(friday session list --json | jq -r '[.[]|select(.status=="active")][0].id')
[ -n "$SID" ] && friday session cancel "$SID" --yes

What the CLI can’t do

Some operations require direct API calls — use curl against http://localhost:18080:
  • Create a workspace from a parsed YAML config — POST /api/workspaces/create
  • Partial workspace config updates — PUT/PATCH /api/workspaces/:id/config/signals/:id
  • Resource upload or link — POST /api/workspaces/:id/resources/upload
  • Memory reads — GET /api/memory/:workspaceId/narrative/:memoryName
  • Env var management — PUT /api/config/env
See the API reference for the full endpoint list.