Skip to content
Back to skills

Rc Native

ASecurity

Runs Claude Code Remote Control (claude.ai/code + mobile) as a detached native-auth server, auto-started on invocation. Use for Remote Control or phone access, or when /remote-control fails with "initialization failed" behind a gateway.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 26, 2026
ai-agentsrustshellbashapibackend

Works with

  • claude code
  • vscode
  • terminal
  • cli
  • api

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add hotak92/vibecoded-orchestrator --skill rc-native --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rc Native?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rc Native
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hotak92-rc-native/badge)](https://www.skillsdirectory.com/skills/hotak92-rc-native)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rc-native
description: Runs Claude Code Remote Control (claude.ai/code + mobile) as a detached native-auth server, auto-started on invocation. Use for Remote Control or phone access, or when /remote-control fails with "initialization failed" behind a gateway.
short_desc: "rc-native: detached native-auth Remote Control server alongside the gateway panel"
keywords: [remote-control, "remote control", rc-native, claude.ai, "phone access", "mobile app", "/remote-control", "Remote Control initialization failed", endpoint gate, native auth]
argument-hint: "[start|status|url|stop|logs]"
model: haiku
---

# rc-native — Remote Control alongside the gateway panel

Remote Control is **endpoint-gated** (Claude Code v2.1.196+): it initializes
only in sessions talking **directly to `api.anthropic.com`**. When
`ANTHROPIC_BASE_URL` points anywhere else — including the VCO model gateway
— `/remote-control` always fails with "Remote Control initialization
failed", *even when signed in with claude.ai* (OAuth does not bypass the
gate), and env-token auth (API key, `setup-token`, `CLAUDE_CODE_OAUTH_TOKEN`)
is refused by a second, independent full-scope-login gate. No configuration
of the panel or the gateway can change this, and a per-workspace
`.vscode/settings.json` override cannot split the panel either
(`claudeCode.environmentVariables` has VS Code setting scope `machine`).
Verified against Claude Code 2.1.258. **Do not downgrade below v2.1.196 to
get it back** — auto-update reverts the downgrade and takes a month of
fixes with it.

The supported shape is **two coexisting surfaces**:

- The **VS Code panel** keeps the model gateway (mixed picker).
- A **detached native-auth server** provides Remote Control for the whole
  machine: sessions opened from claude.ai/code or the Claude mobile app
  spawn and run locally, on the Anthropic subscription.

## On EVERY invocation: auto-start the backend first

The whole point of this skill is that the backend is available, so the
first action is always a `start` (pick the sibling for the platform):

```
bash .claude/scripts/rc-native.sh start          # POSIX (Linux/macOS)
powershell -NoProfile -ExecutionPolicy Bypass -File .claude/scripts/rc-native.ps1 start   # Windows
```

Both are **idempotent**: an already-running server just prints the pid and
the join URL. The Windows line uses `powershell` (Windows PowerShell 5.1,
present on every stock Windows since 2009) with `-ExecutionPolicy Bypass`
because stock Windows' default policy is Restricted and would otherwise
refuse the script — do not shorten it to bare `pwsh`, which is PowerShell 7,
a separate install most Windows machines do not have (PowerShell 7 users can
substitute `pwsh -File`; the script supports both). Do this before answering, whatever the user asked for — then
give them the join URL. Both siblings take an optional server name
(defaulting to the current directory's basename) and keep state under
`~/.cache/rc-native/` (pidfile + log).

Exceptions to auto-start:

- The user explicitly asked to **stop** Remote Control → run `stop`, don't
  restart.
- `start` fails with **"Workspace not trusted"** → the current directory
  was never used with the plain `claude` CLI. Tell the user the one manual
  step: run `claude` in this directory once, interactively, and accept the
  trust dialog — it cannot be automated headlessly, and VS Code panel usage
  does NOT record CLI trust. After they've done it, re-run `start`.
- `start` fails with an **auth error** → have the user run `claude` once in
  a terminal to refresh their OAuth login, then retry. Never substitute an
  API key or `CLAUDE_CODE_OAUTH_TOKEN` — Remote Control rejects both.

Note: the server does not survive a reboot (it is session-detached, not a
boot service — by design). If `start` reports "not running" after a fresh
boot, that is expected — auto-start brings it back. The first-ever start
answers the one-time **"Enable Remote Control? (y/n)"** consent prompt
automatically (acceptance persists; the unread answer on later starts is
harmless — both scripts keep the server's stdin open for its lifetime,
which the detached process needs).

## Commands (both siblings, same names and messages)

```
start [name]   # detached, idempotent; prints the claude.ai/code join URL
status [name]  # pid + current join URL
url [name]     # print just the URL
stop [name]    # kill the server (whole process group / process tree)
logs [name]    # tail the log (join URL redacted for safe pasting)
```

POSIX: `bash .claude/scripts/rc-native.sh <command> [name]` ·
Windows: `powershell -NoProfile -ExecutionPolicy Bypass -File .claude/scripts/rc-native.ps1 <command> [name]`.

## Prerequisites to check before `start`

1. **Not the home directory** — both siblings refuse to start there (trust
   is never saved for `$HOME`).
2. **CLI-trusted working directory** — see the "Workspace not trusted"
   exception above; the fix is one interactive `claude` run in that
   directory.
3. **Full-scope claude.ai login** — see the auth exception above.

## What to tell the user after `start`

Give them the URL and say: open it on the phone (Claude app → Code tab) or
in a browser to open sessions that run on this machine. The server keeps
running after the terminal/editor closes; `stop` (only on explicit request)
ends it.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…