anthropics / anthropics/claude-code

[FEATURE] Self-hosted environments for Pro/Max accounts

Open
#91,841 0 comments 0 reactions 0 assignees View on GitHub
area:self-hosted-environments enhancement
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing requests](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20label%3Aenhancement) and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)

### Problem Statement

Self-hosted environments (`claude self-hosted-runner`, public beta since v2.1.224) let cloud sessions started from claude.ai, the mobile/desktop apps, `claude --cloud`, and scheduled routines execute on infrastructure the operator controls. They are available to Team and Enterprise organizations only.

The documented alternative for Pro/Max is Remote Control. It solves a different problem, and the gap between the two is large:

| Capability | Self-hosted environments | Remote Control |
|---|---|---|
| Sessions run on | Any host in the environment; one host per session if you choose | The single host running `claude remote-control` |
| Working directory | Cloned per session from the repository the user picks | The directory the server was started in (worktrees at best) |
| Arbitrary repos at session start | Yes, same picker as Anthropic-hosted environments | No |
| Per-session isolation | Runner exits after its sessions finish; orchestrator starts a fresh one per queued session | Shared host and OS |
| Routing from routines, `claude --cloud`, `--environment` dispatch | Yes | No |
| Scaling | Queue-driven autoscaling orchestrator | Fixed process, fixed capacity |

For an individual with their own compute, the self-hosted model (queue → runner → cloned repo → fresh host per session) is exactly the shape needed; Remote Control cannot be composed into it.

### Proposed Solution

Give Pro/Max accounts the same self-hosted environments feature that Team/Enterprise organizations have, scoped to the individual account:

- A **Cloud environments** section in personal settings with the same **Allow self-hosted environments** toggle and **New environment** flow as the org admin page, issuing an environment key.
- The same `claude self-hosted-runner` binary, autoscaling orchestrator, CLI flags, lifecycle hooks, and git configuration options; no new runner capabilities.
- The environment appears in the environment picker on every supported surface (web, mobile, desktop, `claude --cloud`, routines) for that account.
- Usage billed against the subscription the same way Anthropic-hosted cloud sessions are.

Because a personal environment has exactly one possible owner, the existing owner-lock logic applies unchanged.

### Alternative Solutions

_No response_

### Priority

High - Significant impact on productivity

### Feature Category

Other

### Use Case Example

A solo developer with a personal hypervisor host wants each cloud session to run in its own VM, cloning whichever repository was selected at session start, exactly as an org would run it. From the phone: tap "+", pick the self-hosted environment, pick a repo, and the session runs on their own infrastructure.

### Additional Context

- Docs: https://code.claude.com/docs/en/self-hosted-environments
- Related: #25746 (self-hosted/homelab environments, filed pre-launch)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the self-hosted environments documentation and the existing Team/Enterprise organization-admin flow. Trace the `claude self-hosted-runner` entry point, environment creation, and environment picker across the supported surfaces. Done means Pro/Max accounts can create and select a personal environment and dispatch cloud sessions to it with the existing runner behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
cli, cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.