Files
yaak-mountain-loop/crates-cli/yaak-cli
Gregory SchierandClaude Opus 5.5 4686d6b4a5 Version the request a send loaded, not a second read of it
Since the plugin fix, every HTTP send versioned the stored row by
reading it again in resolve_send_inputs. On the desktop that read runs
after awaiting plugin startup, so an edit landing in between was
versioned while the earlier copy was sent, and the response named
content it never sent.

Callers now say where their request came from. One that loaded the
stored row and passes it on as is (the desktop send, the by-id sends,
MCP) gets that same copy versioned, with no second read. One that may
hold a rendered request (plugin sends) keeps the read-by-id fallback,
so rendered values still never reach history.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 14:39:11 -07:00
..
2026-11-01 20:07:04 -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)

Agent Setup

Install the Yaak skill so your coding agent knows how to drive the CLI:

yaak agent install                                  # every agent found on this machine
npx skills add mountain-loop/yaak --skill use-yaak  # or with the skills CLI

Claude Code and Codex can install it as a plugin instead. In Claude Code, run /plugin install yaak --marketplace mountain-loop/yaak; the plugin also registers the yaak mcp server. In Codex, run codex plugin marketplace add mountain-loop/yaak, then codex plugin add yaak@yaak.

Any MCP client can run the server over stdio:

{
  "mcpServers": {
    "yaak": { "command": "npx", "args": ["-y", "@yaakapp/cli", "mcp"] }
  }
}

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)