Files
yaak-mountain-loop/crates-cli/yaak-cli
Gregory Schier f53887a114 Add response access and stop mangling non-HTTP request payloads
Stored responses were unreachable from the CLI even though the model
layer has had list/get/delete all along. After a send, an agent could
only see the body it just streamed: no status, no timing, no history.
`yaak response list|show|body|delete` closes that. `show` and `body`
accept a request ID as shorthand for its most recent response, which is
the common case, and `show` returns status, reason, timing, headers, the
final URL, and any transport error as JSON.

`request create` also accepted payloads for request types it cannot
create. A gRPC-shaped payload deserialized into an HttpRequest with the
unknown fields dropped, so the gRPC method name landed in `method`,
`service` vanished, and the result looked like a successful create. It
now rejects a non-`http_request` `model`, and any field that is not part
of the HTTP request schema, pointing at the app instead. `request update`
had the same silent-drop behavior and gets the same check.

The skill now points at `response show` rather than teaching agents to
grep verbose send output for the status line.
2026-08-13 22:02:47 -07:00
..

Yaak CLI

The yaak CLI for publishing plugins and creating/updating/sending requests.

Installation

npm install @yaakapp/cli

Agentic Workflows

The yaak CLI is primarily meant to be used by AI agents, and has the following features:

  • schema subcommands to get the JSON Schema for any model (eg. yaak request schema http)
  • --json '{...}' input format to create and update data
  • --verbose mode for extracting debug info while sending requests
  • The ability to send entire workspaces and folders (Supports --parallel and --fail-fast)

Example Prompts

Use the yaak CLI with agents like Claude or Codex to do useful things for you.

Here are some example prompts:

Scan my API routes and create a workspace (using yaak cli) with
all the requests needed for me to do manual testing?
Send all the GraphQL requests in my workspace

Description

Here's the current print of yaak --help

Yaak CLI - API client from the command line

Usage: yaak [OPTIONS] <COMMAND>

Commands:
  auth         Authentication commands
  plugin       Plugin development and publishing commands
  send         Send a request, folder, or workspace by ID
  workspace    Workspace commands
  request      Request commands
  folder       Folder commands
  environment  Environment commands

Options:
      --data-dir <DATA_DIR>        Use a custom data directory
  -e, --environment <ENVIRONMENT>  Environment ID to use for variable substitution
  -v, --verbose                    Enable verbose send output (events and streamed response body)
      --log [<LEVEL>]              Enable CLI logging; optionally set level (error|warn|info|debug|trace) [possible values: error, warn, info, debug, trace]
  -h, --help                       Print help
  -V, --version                    Print version

Agent Hints:
  - Template variable syntax is ${[ my_var ]}, not {{ ... }}
  - Template function syntax is ${[ namespace.my_func(a='aaa',b='bbb') ]}
  - View JSONSchema for models before creating or updating (eg. `yaak request schema http`)
  - Deletion requires confirmation (--yes for non-interactive environments)