Repository navigation
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
What happened
After quotes create returned a resource ID, the agent ran
voltage quotes get --id QUOTE_ID. It exited with code 2: unexpected argument '--id' found. The command takes the ID as a positional argument.
Why it was confusing
quotes createandpayments sendtake--id, andpayments sendtakes--quote.
The same ID as a flag on one command and positional on the next is a guess an agent
will get wrong.- The 202
acceptedresult ofquotes createhasdata: null, so the agent had to fetch
the quote to see its amount and expiry. - Cheapest fix: accept
--idas an alias of the positional ID ongetcommands, and let
quotes create --waitreturn the created quote.
Provenance
- Found 2026-10-14 during a Claude Code session ("pay this invoice").
- Branch
feat/cli-human-output, commita060712,voltage 0.1.0 (a060712). - Deployment: staging.
Status on other branches
None found.
Reproduction
repro.sh runs offline. The argument parse fails before any request.
# docs/issues/2026-10-14-quotes-get-positional-id/repro.sh
#!/usr/bin/env bash
PIN=a060712
source "$(git rev-parse --show-toplevel)/docs/issues/lib.sh"
build
Z=00000000-0000-4000-8000-000000000000
try quotes get --org $Z --env $Z --id $Z # actual: exit 2, unexpected argument '--id'docs/issues/lib.sh
#!/usr/bin/env bash
# Shared setup for issue reproductions. Source it from a repro.sh after setting PIN.
set -euo pipefail
root=$(git rev-parse --show-toplevel)
cd "$root"
head=$(git rev-parse --short HEAD)
if [ "${PIN:-}" != "" ] && [ "$head" != "$PIN" ]; then
echo "note: HEAD is $head; the issue was found at $PIN (git switch --detach $PIN to match)" >&2
fi
voltage() { "$root/scripts/voltage-staging" "$@"; }
need() { for v in "$@"; do [ -n "${!v:-}" ] || { echo "set $v first" >&2; exit 64; }; done; }
build() { "$root/scripts/voltage-staging" --build >/dev/null 2>&1; }
# Run a command, print its exit code, and never stop the script.
try() { echo "\$ voltage $*" >&2; set +e; voltage "$@"; echo "exit=$?" >&2; set -e; }Run with nix develop --command ./docs/issues/2026-10-14-quotes-get-positional-id/repro.sh (see the agent friction log in AGENTS.md, #33).
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
feat(cli): name the next step after an accepted receive or quote
feat(cli): name the next step after an accepted receive or quote
feat(cli): name the next step after an accepted receive or quote (#62)