Skip to content

Releases: marr-cloud/kiro-gateway-go

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 06:44

kiro-gateway-go v0.5.2

Fixes Claude Code's auto mode behind the gateway. The gateway binary is unchanged; only the
kclaude launcher and the docs change.

🐛 Fixed

  • No more "this session isn't eligible" notice in auto mode. Since Claude Code v2.1.278, a
    session pointed at a gateway with ANTHROPIC_BASE_URL asks the server to run auto mode's
    classifier review (the safeguards request field). Kiro doesn't provide that review, so Claude
    Code fell back to its own classifier and held the first checked action (shell commands, network
    requests) behind a classifier billing notice
    until you pressed Enter. Auto mode is the default permission mode since v2.1.283, so this hit
    every kclaude session.

    scripts/kiro-claude.ps1 now sets CLAUDE_CODE_AUTO_MODE_SERVER=0 for the claude process:
    Claude Code skips the server request and always runs the classifier client-side, through the
    gateway (it uses Kiro credits, as before). Verified with Claude Code v2.1.291: no notice, and
    /status shows Auto mode server: Disabled.

⚠️ If you don't use kclaude

Set CLAUDE_CODE_AUTO_MODE_SERVER=0 yourself (in your shell or in the env key of your Claude
Code settings) when you point claude at the gateway. Claude Code documents this variable as
temporary, so it may change in a later release.

Upgrade

irm https://raw.githubusercontent.com/marr-cloud/kiro-gateway-go/main/scripts/get.ps1 | iex

Your .env and credentials.json are kept.

Full Changelog: v0.5.1...v0.5.2

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:24

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 16:13

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 00:30

kiro-gateway-go v0.4.0

Adds dynamic model discovery: GET /v1/models now reflects the models your Kiro account
actually offers, with no manual list to maintain. No changes to the HTTP/wire surface —
byte-for-byte parity with the upstream (jwadow/kiro-gateway 2.4.dev.13) is intact.

✨ Added

  • Dynamic model discovery. For runtime accounts, the gateway now calls ListAvailableModels
    against management.<region>.kiro.dev — the control plane the current Kiro CLI uses — with the
    account's bearer token, and serves the result from /v1/models. Verified live against a real
    account: the endpoint returns the same models the Kiro CLI shows (e.g. claude-opus-5,
    claude-sonnet-5, gpt-5.6-*).

How it resolves

Priority order, each falling through to the next:

models.json (optional override)  >  dynamic discovery  >  built-in static list (fallback)

Discovery is on by default and fails gracefully: any error (auth, network, non-200, parse) falls
back to the static list, so startup never breaks. A models.json (from v0.3.0) still wins if you
want to pin or filter the list.

Why

The upstream and the old amazon-q-developer-cli only knew q.*.amazonaws.com/ListAvailableModels,
which the runtime endpoint does not expose. The current Kiro CLI moved that operation to a new
control plane, management.*.kiro.dev, that the upstream doesn't know about. Querying it lets the
model list stay current automatically.

Note

The endpoint also returns tokenLimits{maxInputTokens,…} — the data behind the parked 200000
TODO — available for a future enhancement.

Parity note: upstream parity target unchanged (2.4.dev.13); this is the port's own v0.x line.
The passthrough resolver still applies: you can call any model whether or not it's listed.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 04:20

kiro-gateway-go v0.3.0

Adds a configurable model list so GET /v1/models can reflect the models your Kiro
account actually offers today. No changes to the HTTP/wire surface — byte-for-byte
parity with the upstream (jwadow/kiro-gateway 2.4.dev.13) is intact.

✨ Added

  • models.json (optional). A JSON array of model IDs, named by MODELS_CONFIG_FILE
    (default models.json in the working directory). If the file exists, it is the
    authoritative list returned by /v1/models, short-circuiting both the (unavailable)
    dynamic discovery and the static fallback. Absent → previous behavior; malformed → the
    server fails fast with a clear error. See models.json.example.

Why

Kiro's runtime endpoint does not expose model discovery ("AWS limitation", as noted in
the upstream), so the built-in list goes stale when Kiro ships new models. models.json lets
you keep the listing current without recompiling — verified live that claude-sonnet-5,
claude-opus-4.8 and gpt-5.6-* all work.

Note: you don't need to list a model to use it

The gateway is a passthrough ("gateway, not gatekeeper"): any model in a request is sent
straight to Kiro whether or not it appears in /v1/models. models.json only controls the
listing, never which models you can call.

🧹 Internal

  • Tests for the loader (absent/valid/malformed) and the override short-circuit.
  • .gitignore: per-user models.json and downloaded release artifacts.

Parity note: upstream parity target unchanged (2.4.dev.13); this is the port's own v0.x line.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 03:20

kiro-gateway-go v0.2.0

Second release of the Go port. No changes to the HTTP/wire surface — byte-for-byte
parity with the upstream (jwadow/kiro-gateway 2.4.dev.13, commit a5292ca) is intact,
verified by the golden corpus and full test suite. All changes are in the CLI / operational
layer, so existing OpenAI/Anthropic clients are unaffected.

✨ Added

  • Per-request logging. LOG_LEVEL is now wired to a real logger and emits one line per
    request to stdout (method, path, status, dur_ms, bytes). Levels: DEBUG / INFO /
    WARN / ERROR / OFF.
  • First-run guidance. Starting with no accounts now prints an actionable warning instead of
    silently returning 503 on every request.
  • .env.example to speed up onboarding.

🔧 Changed

  • CLI output is now in English (help, errors, startup banner, logs) for internationalization.
  • --help rewritten with a modern layout (description, grouped --long flags, examples).
  • --version now prints the program name plus an upstream-parity line
    (parity: jwadow/kiro-gateway 2.4.dev.13 (commit a5292ca)).
  • Startup banner shows a navigable URL (http://localhost:8000) instead of the bind
    address 0.0.0.0.

📝 Docs

  • README (ES/EN) corrected: release binaries and the ghcr.io image are available (they were
    wrongly marked "not yet available"); Docker image size aligned to ~27 MB; credentials model
    clarified; LOG_LEVEL documented.

🧹 Internal (no user impact)

  • Every source and test file now stays under the project's 400-line limit (14 oversized files
    split by function boundary, no logic change).
  • First tests added for cmd/kiro-gateway (run()), plus request-logging tests.

Full parity note: the upstream parity target is unchanged (2.4.dev.13); this is the port's
own v0.x line.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 11:24