Skip to main content
fjall costs reads AWS spend for the signed-in organisation from the Fjall control plane. The command is a read-only query. It deploys nothing, and it makes no AWS call from your machine.
  • Fjall CLI installed on Node 22 or later.
  • Signed in with fjall login, or FJALL_API_KEY exported for headless use. Credentials live in ~/.fjall/auth.json (or $FJALL_CONFIG_DIR/auth.json).
  • At least one AWS account connected with fjall connect.
  • Cost Explorer enabled in the management account. Fjall collects spend through the AWS Cost Explorer API, so a newly connected organisation returns empty results until collection has run.
Without usable credentials the command exits with Authentication required. Run 'fjall login' first.

View cost data

show is the only subcommand and it is also the default, so fjall costs and fjall costs show do the same thing.
-a, --app is forwarded to the API as applicationId, and the cost tables are keyed by application ID. Read the ID from the ID: line of fjall apps describe api.

Modes

--mode selects what the API returns. The default is summary. per_request and per_deployment without -a return 400 with applicationId is required for per_request mode.
The CLI forwards --mode without validating it locally. fjall costs --help still lists breakdown, which the API rejects with 400 Invalid query parameters. Use attribution for a per-service breakdown.

What Happens

  1. The CLI checks the stored credentials and stops if none are usable.
  2. It calls GET /api/costs, passing mode, days, forecastDays and applicationId as query parameters when set.
  3. The control plane reads the collected cost records for your organisation and returns the result for that mode.
  4. The CLI prints a ==> Fetching cost data step line, the JSON response, then a completion summary.
Nothing is written, so the command has no dry-run flag, no confirmation prompt and no rollback path. Agent mode. With --agent (or on an auto-detected agent host) the same payload renders as a TOON block instead of JSON. --budget trims that block. --fields has no effect on costs show, because the handler renders the API response unshaped. Rate limit. The API accepts 30 cost queries per minute per organisation. Beyond that it returns 429 with Too many cost query requests. Please try again later. Unknown subcommands. Anything other than show fails with Error: Unknown subcommand '<name>' followed by Available subcommands: show.

Options

Values outside the accepted ranges for --days and --forecast-days are rejected by the API with 400 Invalid query parameters.

Next Steps

Enable Cost Explorer

Turn on the AWS Cost Explorer API so Fjall can collect spend data.

fjall connect

Connect an AWS account so its spend appears in cost queries.

fjall deploy

Deploy an application, then track what it costs.

Agent mode

Read cost data as TOON blocks from an AI agent session.