claude-code-restored-runtime
Skill by ara.so — Claude Code Skills collection.
What It Does
claude-code-rev is a restored and runnable version of Claude Code reconstructed from source maps. It provides:
- A local AI coding agent runtime that works with GitHub-backed inference providers
- Support for both GitHub Models (OpenAI-compatible) and GitHub Copilot endpoints
- Multi-provider switching with interactive CLI commands
- Chrome MCP and Computer Use MCP compatibility layers
- Restored CLI bootstrap with full command tree
The project is not the original upstream repository—some modules are shims or degraded implementations to enable runnable workflows.
Installation
Prerequisites
- Bun 1.3.5 or newer
- Node.js 24 or newer
- GitHub CLI (
gh) for account-based authentication (optional but recommended)
Clone and Install
git clone https://github.com/oboard/claude-code-rev.git
cd claude-code-rev
bun install
Verify Installation
bun run version
bun run dev --help
Authentication Setup
Both GitHub providers use this lookup order:
- Provider-specific environment variable
GH_TOKENGITHUB_TOKENgh auth token(GitHub CLI)
Option 1: GitHub CLI (Recommended)
gh auth login
This enables account-based authentication without manual token management.
Option 2: Environment Variable
export GITHUB_TOKEN="ghp_your_token_here"
Or add to .env:
GITHUB_TOKEN=ghp_your_token_here
Running the Runtime
Default Run
bun run dev
With GitHub Models Provider
bun run dev --settings '{"provider":"github-models"}'
Specify a model:
bun run dev --settings '{"provider":"github-models"}' --model "openai/gpt-4.1"
With GitHub Copilot Provider
bun run dev --settings '{"provider":"github-copilot"}'
Specify a Copilot-hosted Claude model:
bun run dev --settings '{"provider":"github-copilot"}' --model "claude-opus-4.6"
CLI Commands
Provider Management
| Command | Description |
|---|---|
/provider |
Open interactive provider picker |
/provider info |
Show current provider and environment overrides |
/provider github-copilot |
Switch directly to GitHub Copilot |
/provider github-models |
Switch directly to GitHub Models |
Model Management
| Command | Description |
|---|---|
/model |
Open model picker for current provider |
General Commands
bun run dev --help # Show full command tree
bun run version # Print restored version
Supported Models
GitHub Copilot – Validated Claude Models
These models work with the Claude Code runtime and tool loop:
claude-sonnet-4.6claude-opus-4.6claude-haiku-4.5claude-sonnet-4.5claude-opus-4.5claude-sonnet-4
Note: Copilot GPT/Grok models are not fully wired yet—they require the /responses API path instead of the current chat/messages shim.
GitHub Models
Any OpenAI-compatible model available through GitHub Models, including:
openai/gpt-4.1openai/gpt-4ometa-llama/Llama-3.3-70B-Instruct
Configuration Examples
Runtime Settings File
Settings are stored in user config and can be overridden via CLI:
# Inline settings override
bun run dev --settings '{"provider":"github-copilot","autoSave":true}'
Environment-Based Provider Override
# Force GitHub Models provider via env
export CLAUDE_CODE_PROVIDER="github-models"
bun run dev
Multi-Provider Workflow
# Start with GitHub Models
bun run dev --settings '{"provider":"github-models"}'
# Inside CLI, switch to Copilot
/provider github-copilot
# Pick a specific model
/model
# (select claude-opus-4.6 from picker)
Code Integration Examples
TypeScript: Provider Interface
import { GitHubModelsProvider } from './providers/github-models';
const provider = new GitHubModelsProvider({
apiKey: process.env.GITHUB_TOKEN,
model: 'openai/gpt-4.1',
});
const response = await provider.chat({
messages: [
{ role: 'user', content: 'Explain this function' },
],
});
console.log(response.content);
TypeScript: Copilot Provider
import { GitHubCopilotProvider } from './providers/github-copilot';
const copilot = new GitHubCopilotProvider({
token: process.env.GITHUB_TOKEN,
model: 'claude-sonnet-4.6',
});
const result = await copilot.complete({
prompt: 'Write a binary search in Rust',
maxTokens: 500,
});
TypeScript: Runtime Bootstrap
import { bootstrap } from './cli/bootstrap';
async function main() {
await bootstrap({
provider: process.env.CLAUDE_CODE_PROVIDER || 'github-models',
model: process.env.CLAUDE_CODE_MODEL,
autoSave: true,
});
}
main().catch(console.error);
Common Patterns
Pattern 1: Quick Provider Switch
# Start session
bun run dev
# Switch provider mid-session
/provider
# Select github-copilot from picker
# Verify active provider
/provider info
Pattern 2: Scripted Model Selection
#!/bin/bash
export GITHUB_TOKEN=$(gh auth token)
bun run dev \
--settings '{"provider":"github-copilot"}' \
--model "claude-opus-4.6"
Pattern 3: Fallback Chain
// Automatic fallback if primary provider fails
const providers = [
new GitHubCopilotProvider({ token: process.env.GITHUB_TOKEN }),
new GitHubModelsProvider({ apiKey: process.env.GH_TOKEN }),
];
for (const provider of providers) {
try {
return await provider.chat(messages);
} catch (err) {
console.warn(`Provider ${provider.name} failed:`, err);
}
}
throw new Error('All providers failed');
Troubleshooting
Issue: bun install Fails
Cause: Bun version too old or missing native dependencies.
Fix:
bun --version # Must be 1.3.5+
bun upgrade
bun install --force
Issue: Authentication Fails
Cause: No valid GitHub token found.
Fix:
# Verify token presence
gh auth status
# Re-authenticate
gh auth login
# Or manually set token
export GITHUB_TOKEN="ghp_..."
Issue: Model Not Available
Cause: Model name mismatch or provider doesn't support the model.
Fix:
# Use /model picker instead of manual entry
bun run dev --settings '{"provider":"github-copilot"}'
# Then run: /model
Issue: Copilot GPT Models Not Working
Cause: Copilot GPT/Grok models require /responses API (not yet fully wired).
Fix: Use Copilot-hosted Claude models instead:
bun run dev \
--settings '{"provider":"github-copilot"}' \
--model "claude-sonnet-4.6"
Issue: Source Map Restoration Artifacts
Cause: Some modules are shims or degraded implementations.
Symptoms: Missing features, unexpected behavior in non-core paths.
Fix: Check if the feature relies on a private/native integration. File an issue on the repo if critical functionality is broken.
Issue: Tool Loop Hangs
Cause: MCP compatibility layer returning malformed responses.
Fix:
# Enable debug logging
DEBUG=* bun run dev
# Check for MCP tool catalog errors
# Report specific tool failures to repo issues
Development Workflow
Run in Dev Mode
bun run dev
Inspect Restored CLI Structure
bun run dev --help
# Shows full command tree from restored bootstrap
Test Provider Switching
// In your test suite
import { switchProvider } from './cli/commands/provider';
await switchProvider('github-copilot');
const info = await getProviderInfo();
assert(info.active === 'github-copilot');
Key Files
cli/bootstrap.ts– Restored CLI entry pointproviders/github-models.ts– GitHub Models providerproviders/github-copilot.ts– GitHub Copilot providermcp/chrome-mcp.ts– Chrome MCP compatibility layermcp/computer-use-mcp.ts– Computer Use MCP shim
Limitations
- Not the original upstream codebase—some modules are restored from source maps
- Copilot GPT/Grok models not fully integrated (require
/responsesAPI) - Private/native integrations replaced with shims
- Some dynamic imports and resource files may be incomplete
Resources
- Repository: https://github.com/oboard/claude-code-rev
- Provider Docs: Run
/provider infoin CLI for active provider details - Model Catalog: Run
/modelto see available models for current provider