nebius-headless-oauth
Complete human Nebius CLI OAuth on a headless operator/dev machine when the browser is elsewhere and SSH port forwarding is unavailable, using a validated…
Skill by nebius
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nebius-nebius-headless-oauth
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/nebius-headless-oauth
What's inside
- Skill name
nebius-headless-oauth- Description
- Complete human Nebius CLI OAuth on a headless operator/dev machine when the browser is elsewhere and SSH port forwarding is unavailable, using a validated manual loopback callback.
- License
- MIT
- Instructions
- 145 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- relay_callback.py · scripts/
SKILL.md (first lines)
# Nebius headless OAuth
Use the operator's signed-in browser to authenticate a Nebius CLI profile on
another machine. Keep one CLI login process alive, open its authorization link,
then copy the browser's final loopback URL into a private terminal on the CLI
machine. The bundled helper delivers that callback to the waiting CLI.
This adapts the operator-contributed `nebius-headless-oauth` skill (MIT).
[Nebius documents](https://docs.nebius.com/cli/no-browser) `--no-browser`, the
dynamic loopback redirect, and SSH forwarding. Manual callback delivery is this
skill's adaptation, not an upstream CLI command or an NPA agent chat feature.
## Choose the authentication path
- For a readiness-only request, run
`npa workbench health preflight --checks nebius --json` and stop. A failure
alone does not establish an expired login; distinguish missing configuration,
denied access, and network failures before starting OAuth.
- When SSH forwarding is available, use
[vm-nebius-auth](../vm-nebius-auth/SKILL.md). It returns the authorization link
and exact tunnel command without transferring the callback code manually.
- For unattended VM or CI authentication, use a
[project-scoped service account](../nebius-service-account-auth/SKILL.md).
After initial setup, an attached VM identity or an authorized-key profile works
without browser interaction. Choose its role for the intended operations.
For interactive work that needs the operator's own identity, human OAuth
avoids creating a separate account and maintaining an authorized key.
- Use this manual method for an authorized human login when forwarding is
unavailable and the operator can enter hidden input in a terminal on the CLI
machine, for example an existing private browser terminal. Chat alone does not
provide that input channel. Never ask for a callback URL, authorization code,
access token, or refresh token in chat or a tool-call argument.
- Preserve an npa-agent VM's attached-service-account metadata profile. This
skill does not configure CI credentials, S3 keys, or Token Factory keys.
## Start one login attempt
1. Check `command -v nebius` and the installed CLI's `profile --help` and
`iam whoami --help`. Establish the intended human profile from non-secret
metadata; do not dump CLI configuration. Use the same explicit profile in
every command. Login authorization already given in this task is sufficient.
2. On the CLI machine, run the following in a persistent terminal. Replace the
quoted profile placeholder. Ambient IAM overrides are removed only for this
process so they cannot impersonate a successful profile login:
```bash
env -u NEBIUS_IAM_TOKEN -u NEBIUS_IAM_TOKEN_FILE \
-u NPA_NEBIUS_IAM_TOKEN \
nebius --profile "<profile>" --no-browser --no-check-update \
iam whoami --format json > /dev/null
```
The identity result goes to `/dev/null`; the CLI's authorization prompt
remains visible on stderr. If it exits successfully without prompting, the
profile is already authenticated. Continue to verification without starting
another login. Do not use an unsuppressed `iam get-access-token` command to
trigger authentication, or enable debug output or terminal recording.
3. If the profile is established to be absent, create the selected human profile
with `nebius --no-browser --no-check-update profile create "<profile>"` in a
persistent terminal, following the official profile prompts. Do not overwrite
or delete an existing profile. Some CLI versions defer OAuth until first use;
run the profile-scoped identity command above if creation did not start it.
4. Keep exactly one waiting OAuth process. The current supported link is HTTPS
on `auth.nebius.com`, with an S256 PKCE challenge, `state`, and a
`redirect_uri` of `http://127.0.0.1:<port>` (an optional trailing slash is
accepted). Preserve this original link for the helper; do not construct one
or reuse a previous attempt. If this CLI emits another shape, stop and review
its documented flow instead of relaxing the validator.
## Open, copy, and complete
Give the operator only the authorization link from the active CLI process, in
the private session, with these instructions:
> Open this link in the browser where you are signed in to Nebius. Complete any
> account or SSO prompt. If the browser cannot connect to `127.0.0.1`, copy the
> entire final URL from its address bar. Paste it into the hidden callback
> prompt on the CLI machine. It contains a one-time login code; keep it out of
> chat, screenshots, shell commands, and saved notes.
Leave the CLI process running. In a second private terminal on that same
machine and in the same network namespace, run from the repository root:
```bash
npa/.venv/bin/python \
skills/atomic/nebius-headless-oauth/scripts/relay_callback.py
```
The operator first pastes the original authorization link, then the final
callback URL. Both prompts disable echo and refuse a non-terminal input stream.
The helper checks the original redirect, matching port and state, and exactly
one nonempty authorization code. It sends one HTTP GET directly to the pinned
IPv4 loopback listener, ignoring proxy settings and following no redirects.
Only a generic delivery status is printed; URLs, response bodies, and exceptions
containing credentials are not printed or written to disk.
A successful delivery only proves that the callback listener returned HTTP 200.
Wait for the original CLI process to exit with status zero, then verify the
same profile:
```bash
env -u NEBIUS_IAM_TOKEN -u NEBIUS_IAM_TOKEN_FILE \
-u NPA_NEBIUS_IAM_TOKEN \
NPA_NEBIUS_PROFILE="<profile>" \
npa/.venv/bin/npa workbench health preflight --checks nebius --json
```
Require both identity verification and IAM token minting to pass. Report those
results without account identifiers, email addresses, profile names, or tokens.
Authentication does not prove project permissions, quota, capacity, or model
access. Human OAuth credentials stay in the Nebius CLI's private profile/cache;
do not copy them into `~/.npa/credentials.yaml`.
## Failure and cleanup
If the operator cancels, the CLI expires, callback validation/delivery fails,
or verification starts another login, interrupt and reap the process belonging
to this attempt. The helper does not own or stop the CLI process. Stop the
helper too if it is still waiting. Do not use a broad process-name kill.From nebius/nebius-physical-ai, MIT.
More from nebius/nebius-physical-ai
- 0.666score
cosmos
nebius
Use when working on Cosmos world model serving, inference, serverless training smoke validation, backend selection, or rendering limitations.
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
gpu-first-guidance
nebius
Use when recommending how to run a workbench workload, writing user-facing docs, or answering "what should I run first?" — lead with the Nebius GPU path and…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
toolref-argv-contract
nebius
Use when adding or changing an npa.workflow toolRef argv template, or when changing a CLI option that a toolRef already passes — the contract that stops a…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
curobo
nebius
Use when running, validating or reviewing NVIDIA cuRobo V2 Franka pose planning and complete MotionBenchMaker/MPiNets benchmarks on CUDA, with factual…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
embodiedgen
nebius
Use when running or reviewing the operator-private EmbodiedGen V2 image-to-rigid-object workflow with upstream TRELLIS generation, URDF export, collision…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
gpu-selection
nebius
Use when choosing or reviewing GPU targets for NPA workbench tools, training, rendering, inference, or workflow YAML resources.
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
debug-failed-run
nebius
Use when a workflow run failed, hung, or produced no artifacts — an ordered triage from run id to root cause across status, stage logs, S3 evidence, pod-level…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
agent-development
nebius
Use when building, enhancing, or testing the NPA chat agent backend — grounded-first routing, cost-aware Token Factory model selection, the embedded-backend…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
gpu-allocation-fallback
nebius
Track typed GPU placement failures in the NPA agent and offer a consent-gated on-demand-to-preemptible fallback after repeated failures or deterministic…
SkillAFreshness: A★ 60Claude Code +9 - 0.665score
submit-workflow
nebius
Use when submitting, validating, or debugging NPA SkyPilot workflow YAMLs and workflow runner paths.
SkillAFreshness: A★ 60Claude Code +9 - 0.663score
cosmos-data-factory-setup
nebius
Prepare the shared NPA runtime, storage, credentials, and private compatibility images for Cosmos Data Factory IAA or EVG workflows on Nebius and SkyPilot.
SkillAFreshness: A★ 60Claude Code +9 - 0.663score
physical-ai-event-video-generation
nebius
Author, run, or inspect the NPA Cosmos Data Factory EVG workflow that turns seed images into Cosmos3 event videos with detection, tracking, captions, visual…
SkillAFreshness: A★ 60Claude Code +9
Signals
- Stars
- 60
- Forks
- 19
- Open issues
- 10
- Last commit (this folder)
- Sep 15, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/nebius/nebius-physical-ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nebius
- 0.666score
gpu-allocation-fallback
nebius
Track typed GPU placement failures in the NPA agent and offer a consent-gated on-demand-to-preemptible fallback after repeated failures or deterministic…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
toolref-argv-contract
nebius
Use when adding or changing an npa.workflow toolRef argv template, or when changing a CLI option that a toolRef already passes — the contract that stops a…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
agent-development
nebius
Use when building, enhancing, or testing the NPA chat agent backend — grounded-first routing, cost-aware Token Factory model selection, the embedded-backend…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
debug-failed-run
nebius
Use when a workflow run failed, hung, or produced no artifacts — an ordered triage from run id to root cause across status, stage logs, S3 evidence, pod-level…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
gpu-first-guidance
nebius
Use when recommending how to run a workbench workload, writing user-facing docs, or answering "what should I run first?" — lead with the Nebius GPU path and…
SkillAFreshness: A★ 60Claude Code +9 - 0.666score
cosmos
nebius
Use when working on Cosmos world model serving, inference, serverless training smoke validation, backend selection, or rendering limitations.
SkillAFreshness: A★ 60Claude Code +9
Cite this page
nebius-headless-oauth skill. Agent Mart. https://agentmart.dev/skills/nebius-nebius-headless-oauth (last updated 2026-10-24)