Skip to main content

auth

Manage authentication.

agent

Build and manage agents.

Development workflow

Templates: LLM (default), AUTO_MANAGED_STATE, BLANK
guild agent save -A/--all commits only modified tracked files. New files are untracked and are not saved — stage them with git add <file> (or git add .) first.

Test

Test the agent in the current directory. guild agent test polls for the agent’s response and prints it. Use --timeout to override how long the CLI waits before the poll times out.
A poll timeout is recoverable: the session is not discarded when polling times out, so you can resume it. In --mode json, the error output includes the session ID and the resume hint guild agent test --resume <session-id>. In --mode jsonl, the timeout output includes the session ID and the same resume hint, and the command continues to the next input line.

Chat

Chat with the agent you’re developing from inside the agent directory. By default, guild agent chat creates an ephemeral build from your local files and starts a new session.
Ephemeral builds are the default. guild agent chat builds an agent version from your local files, and unchanged files reuse the cached ephemeral build.
Ephemeral builds include only files tracked by Git. guild agent test and guild agent chat upload files that are already committed or staged with git add. New untracked files are ignored until you stage them with git add. Modified tracked files still upload their working-tree content, so you can test uncommitted changes to existing files without committing them first.
--resume <session-id> works in all modes: interactive, --mode json, and --mode jsonl. Resuming a session skips version resolution and ephemeral builds entirely, because the resumed session already pins its agent version and workspace. --workspace and --agent-version are ignored when you resume. In --mode json and --mode jsonl, resuming appends your input to the specified session as a new user message instead of creating a new session. The CLI reports the resumed session’s ID, and response polling only considers events created after your message. If the session ID does not exist or you cannot access it, guild agent chat exits with code 1 without building the agent and prints:

Publishing

Discovery and management

Capabilities

Show an agent’s resolved tools, grouped by their source unit — integrations, sub-agents, and built-in or legacy services. Each tool is marked read, write, or unknown. The unknown marker is shown separately from read because an unclassified tool may write.
The [identifier] argument is optional. It accepts an agent ID or a full name like myorg~my-agent, and defaults to the agent in the current directory. --version <id> overrides the default latest published version. --output json emits the raw payload with version_id, tools, and access fields. The command requires authentication; run guild auth login first. Example output:
With --output json, the command emits a machine-readable payload instead:

Tags

Categories


workspace

Manage workspaces and their contents.
After a successful global workspace selection, guild workspace select prints to stderr: To clear the default, run: guild workspace clear. Pass --quiet to suppress it.

Chat

Start a conversation with an agent.
To chat with the agent you’re currently developing, use guild agent chat from inside the agent directory.

Workspace agents

Workspace context

clear

Remove the default workspace setting from configuration.
Behavior depends on where you run the command:
  • In an agent directory (contains guild.json): removes workspace_id from guild.json and prints ✓ Cleared workspace setting for this agent.
  • Outside an agent directory: removes default_workspace and default_workspace_name from ~/.guild/config.json and prints ✓ Default workspace cleared.
If no default workspace is set, the command prints No default workspace was set. to stderr and exits successfully — it is not an error. Exit codes: 0 on success or no-op; 1 on filesystem error only.

chat

Open The Smith, Guild’s built-in support agent, in an interactive chat session.
To chat with the generic workspace assistant instead, use guild workspace chat.

session

Inspect sessions in a workspace.

api

Call any Guild REST API endpoint directly. guild api is an authenticated escape hatch that mirrors guild session get and acts as a CLI counterpart to the MCP data tools. Use it to reach endpoints that do not have a dedicated command yet.
The command validates your session token, checks the HTTP method, and parses any --data JSON before calling the Guild REST API. It prints the raw JSON response to stdout.

trigger

Automate agent execution. See Triggers for a full guide.

integration

Build and manage custom integrations.

Discovery and management

Creating and updating

Guild validates the --base-url, --install-url, and --token-url values to prevent server-side request forgery (SSRF). Private network ranges, loopback addresses (such as localhost or 127.0.0.1), and internal DNS names are blocked. For local development, expose your service using a tunneling tool such as ngrok or Localtunnel and use the public URL.

Connecting credentials

Versions

Operations (endpoints)

Testing


container-image

Manage container images.

skill

Create and manage reusable skill packages. See Skills for a full guide.

Versions


config

Read and write global CLI configuration.
Keys: default_workspace, debug, json, quiet

Utilities

Use the --simple flag with guild version to print only the bare version number followed by a newline, with no additional decoration. This makes the output easy to capture in scripts.