glab-api

Installation
SKILL.md

glab api

Capture key 4dd0d32d1: checksum-verified official macOS arm64 binary, source commit 4dd0d32d18361db6c1c668eb4ac691c0d6edf255, archive SHA-256 11980310aaad2bd9c4e75b5635a60e984da5d0e6245187f2cd6e8db0ec4c5a92. Only adjacent marked help fences use this provenance; complete renderer output is preserved except trailing spaces/tabs. Other fences retain their stated prior provenance.

Automatic retries and agent attribution

The shared API client does not automatically retry ordinary POST or PATCH requests after a server error, or a network failure after the request was written. The server may already have applied the write: inspect the resource before repeating an approved mutation. This is not a blanket no-retry guarantee: HTTP 429 and eligible connection failures before sending can still be retried, and selected internal read-only or idempotency-protected operations explicitly opt into safe retries. That internal opt-in is not a glab api flag.

COPILOT_CLI=1 identifies GitHub Copilot CLI as Coding-Agent/copilot in the User-Agent. Other values do not activate that detection. A valid AI_AGENT override takes precedence; Claude Code and Codex signals are checked before Copilot. Attribution neither changes the GitLab actor nor authorizes writes or governance uploads.

Redirects on writes

The shared API client refuses a redirect that would change the request method, including HTTP 301/302/303 responses that turn POST, PUT, PATCH, or DELETE into a bodyless GET. Method-preserving 307/308 redirects remain allowed, with a limit of ten redirects. A refused redirect is an error, not evidence that the write succeeded or that nothing changed on the original endpoint.

For a same-host HTTP-to-HTTPS redirect, inspect the target and configure the correct API protocol before retrying the approved write. Normal configuration uses per-host api_protocol or GLAB_API_PROTOCOL; CI auto-login reads CI_SERVER_PROTOCOL, so fix the instance external URL or approved job setting instead. Retain the port when selecting a host. Verify the resource state before retrying a mutation, and do not work around the refusal by changing the write to GET.

⚠️ Security Note: Untrusted Content

Installs
156
GitHub Stars
50
First Seen
Jun 21, 2026