--output json and it returns machine-readable JSON instead. In other words, the same tool you reach for during an incident can also feed structured data to a coding agent. It even bundles an AppSignal agent skill: a set of instructions that teaches an agent like Claude or Codex how to use the CLI. Install it with appsignal-cli skill install.
The CLI talks to the same AppSignal data as the app UI and AppSignal MCP. It’s a gateway to data AppSignal already has. If your app isn’t sending logs,
logs tail won’t show any.What you can do
- Logs: tail log lines as they arrive, or search across a time range with AppSignal’s query syntax. Filter by severity or source, apply saved log views, and list an app’s views and sources. Create and manage log-derived metrics and log-based triggers from your log data.
- Incidents: list exception, performance, and anomaly incidents, and search the exception and performance ones; open an incident’s details; update its state, severity, notification frequency, or assignees; and add, edit, or delete its notes.
- Traces: list the performance samples and error traces behind an action or an incident, filter them by tag or deploy revision, and open one to read its span tree down to a single span.
- Triggers: list, create, update, and archive anomaly detection triggers.
- Dashboards: list, create, and update your app’s dashboards.
- Apps: list your applications, find an app by name, and inspect its users, notifiers, namespaces, dashboards, and deploy markers.
- Project configuration: create a project-local config so commands run in a repository default to the right organization.
- Agent skill: install the bundled AppSignal skill into your AI agent, update it, and check whether it’s current.
- Feedback: report a missing command, a broken behavior, or a feature you need, without leaving the terminal.
Quick reference
A few commands to get you started. For the full cheat sheet of every command and its arguments, see the command reference.Global flags
These flags work on every command:
You can pass
--output (or --format) before or after the subcommand. Command results go to standard output in the format you choose; status messages always go to standard error, so a --output json stream stays valid JSON that you can pipe into another tool.