Netclode

Run cloud coding agents in isolated microVMs on your own infrastructure and control them from native Apple clients.

Stars
★ 262
Last updated
3mo ago
Primary language
Swift

At a glance

How it runs
Self-hosted serviceDesktop appCLI
Works with
Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
High · needs real infrastructure
You'll need
Linux VPS with nested virtualization supportAnsiblek3sKata ContainersCloud HypervisorJuiceFSS3-compatible storageRedisTailscaleDockerGoNode.jsSwiftUI clientShell / CLINetwork accessLocal filesystem
Typical use
An individual developer who wants to work on repositories from an iPhone or Mac without placing the execution environment on a third-party coding-agent service.
Not a fit if
  • Individuals or teams without a nested-virtualization Linux VPS
  • Users who want a one-command or hosted-service quick start
  • Users who need a web, Windows, or Android client

What does this agent do, and when should you use it?

Netclode is a self-hosted cloud coding-agent system that assigns each session an isolated microVM built with Kata Containers and Cloud Hypervisor. Its Go control plane runs on k3s, allocates sandboxes from a pre-booted pool, and forwards prompts over Connect RPC to a TypeScript/Node.js SDK runner inside the sandbox. The runner supports Claude Code, OpenCode, Copilot, and Codex SDKs with providers including Anthropic, OpenAI, Mistral, and Ollama. Redis Streams retains reconnectable session events, while JuiceFS persists workspaces, installed tools, Docker images, and SDK sessions to S3 for pause, resume, snapshot, and rollback workflows. Users interact through a native SwiftUI iOS/macOS application or a Go debugging CLI, with access to diffs, a live terminal, and Tailscale-backed port previews. The deployment boundary is a self-managed Linux VPS with nested virtualization, provisioned through Ansible and operated with k3s, Tailscale, S3, and the required credentials.

The client reaches the Go control plane through Tailscale Ingress and Connect RPC. The control plane allocates a Kata VM from the agent-sandbox warm pool and sends prompts to a Claude Code, OpenCode, Copilot, or Codex SDK running inside it. Within the sandbox, the agent can work on repository files, install software, run commands with root access, use Docker, and call either configured model APIs or local Ollama inference. Responses stream back to the client, while Redis Streams persists events so a disconnected client can reconnect without losing the session. On pause, the VM is deleted and JuiceFS retains the workspace, installed tools, Docker images, and SDK session in S3; resume mounts that storage again. Netclode also records a snapshot after each turn and can roll both the workspace and chat back to an earlier point. Its GitHub integration clones private repositories, pushes commits, and creates pull requests, while the GitHub Bot handles @mentions on issues or PRs and reviews Dependabot or Renovate updates. A separate secret-proxy injects API keys for allowed hosts without placing the real credentials inside the sandbox.

  1. An individual developer who wants to work on repositories from an iPhone or Mac without placing the execution environment on a third-party coding-agent service.
  2. A team that needs agents to run Docker, install arbitrary software, and use root privileges while containing each session in a separate microVM.
  3. A developer with a local GPU who wants to run models through Ollama so inference does not leave the machine.
  4. A user maintaining many long-lived project sessions who wants paused sessions to retain state in S3 without keeping their VMs running.
  5. A repository maintainer who wants an @mention on a GitHub issue or pull request to launch a sandbox, or wants automated review of Dependabot and Renovate pull requests.
  6. A Tailscale user who needs private access to sandbox web previews, internal infrastructure, and a live terminal.

How do you install or deploy this agent?

The supplied material documents a deployment sequence but no complete copyable command set. The stated process is to provision a Linux VPS with nested virtualization, run the repository's Ansible playbooks, configure model API keys plus S3 credentials and Tailscale OAuth, deploy the Kubernetes manifests, and connect through Tailscale. The resulting installation also uses k3s, Kata Containers, Cloud Hypervisor, Redis, JuiceFS, and S3. The source does not provide the VPS sizing, exact playbook invocation, manifest deployment command, environment-variable names, or iOS/macOS client installation steps, so a complete first-run procedure cannot be reproduced from the supplied material alone.

How do you use this agent?

After deployment and Tailscale connectivity are in place, create or resume a session from the native iOS/macOS app. The control plane allocates a warm sandbox and passes prompts to the selected SDK; the app can display streamed responses and multi-repository Git diffs, open a live shell, accept speech input, and expose sandbox ports to the tailnet. Pause a session to remove its VM while retaining state through JuiceFS and S3, then resume it with the same workspace and SDK session. Per-turn snapshots can restore both the workspace and conversation to a previous point. For GitHub workflows, mention the bot on an issue or pull request to start a sandbox and receive its response as a comment. A Go debugging CLI is present, but its build, authentication, and first-invocation commands are not included in the supplied source.

What are this agent's strengths and limitations?

Pros
  • Kata Containers and Cloud Hypervisor isolate every session in a microVM, allowing root access, Docker, and arbitrary tool installation inside the sandbox.
  • The runner supports Claude Code, OpenCode, Copilot, and Codex across multiple remote providers, with Ollama available for local GPU inference.
  • A pre-booted sandbox pool targets immediate starts, while Redis Streams preserve session events across client reconnections.
  • JuiceFS-backed S3 persistence lets paused sessions release their VM while retaining the workspace, tools, Docker images, and SDK state.
  • Automatic snapshots after each turn support coordinated rollback of both repository state and conversation history.
  • The external secret-proxy injects API credentials only for allowed hosts, keeping real keys out of the sandbox.
Limitations
  • Adopters must operate a nested-virtualization Linux VPS plus k3s, Kata Containers, Cloud Hypervisor, Redis, JuiceFS, S3, and Tailscale, creating a substantial infrastructure burden.
  • Deployment requires model API keys, S3 credentials, and Tailscale OAuth; private-repository and bot workflows additionally depend on GitHub App integration.
  • The primary graphical client is a SwiftUI iOS 26 application that also targets macOS; no web, Windows, or Android client is documented.
  • The quick-start material gives only high-level stages and omits directly executable Ansible, Kubernetes, and client-installation commands.
  • The repository license is unknown, so adopters must establish their rights to use, modify, or redistribute it.
  • The claim that paused sessions cost practically nothing beyond storage is not accompanied by capacity guidance, benchmarks, recovery objectives, or measured cost data.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Netclode This agent 51 · Major gaps Self-hosted serviceFree + model costs ★ 262 3mo ago Swift Codex · Claude Code · OpenAI API · Claude API
Omnigent 68 · Some gaps CLIFree + model costs ★ 11k today Python ChatGPT · Codex · Claude Code · Claude.ai · OpenAI API · Claude API
Skybridge MCP Apps Framework 63 · Some gaps CLIFreemium ★ 2.2k 10d ago TypeScript ChatGPT · Claude.ai
OpenChamber 71 · Some gaps Desktop appFree + model costs ★ 13k today TypeScript —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
51/ 100 5-point scale 2.6 / 5
Trust 14/29
Reliability 6/14
Adaptability 12/18
Convention 8/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust14 / 29 · 2.4/5

The docs describe Kata microVMs, network policies, a secret proxy restricted by SDK and destination host, and a repository permission gate for GitHub Bot triggers. The proxy source also shows token reads from a mounted file and request forwarding. Deductions: bot comments, pushes, and automated dependency reviews have external effects, but the materials do not describe per-action confirmation; GITHUB_TOKEN is explicitly listed as a direct value outside the proxy, so sensitive-data handling is not comprehensive; the limited CI material does not establish a broad dependency security policy; contributor guidance does not clearly establish product security responsibility or attribution.

Reliability6 / 14 · 2.1/5

The README, architecture doc, and proxy source are broadly consistent, and the code includes reconnect retries and proxy error responses. Deductions: some architecture and security assurances are documented claims not fully corroborated by the supplied source; availability, upgrade, and recovery details are limited; error logging and responses exist, but the evidence does not show comprehensive failure handling.

Adaptability12 / 18 · 3.3/5

The project identifies self-hosted cloud coding agent users and documents iOS/macOS, CLI, local inference, Tailnet, and multiple SDK scenarios; it also describes network scope, infrastructure requirements, and GPU setup. Deductions: capability boundaries and deployment conditions are described but do not cover every scenario, and there is no full non-goals or suitability matrix; trigger and configuration guidance is useful but does not detail every trigger boundary.

Convention8 / 18 · 2.2/5

The README organizes architecture, deployment, operations, and feature docs, and provides setup steps, commands, CLI examples, and some limitations. Naming is generally consistent. Deductions: license metadata is unknown and no license text is supplied; version history and changelog evidence is limited; maintenance responsibility and support channels are unclear; limitation coverage is incomplete.

Effectiveness7 / 13 · 2.7/5

The product combines remote sessions, microVM isolation, persistent storage, session recovery, mobile clients, and multiple SDK integrations, with actionable deployment and usage examples. Deductions: the value claims are primarily asserted in the README and lack independent quantitative support in the supplied materials; the self-hosted stack spans k3s, Kata, storage, Redis, Tailnet, and optional GPU components, while operational cost and tradeoffs are not adequately assessed.

Verifiability4 / 8 · 2.5/5

The README architecture and feature claims can be partially compared with the sandbox architecture doc, proxy source, and CI workflows; the supplied source supports token reading, authorization header addition, and request forwarding. Deductions: many security, performance, and product-effect claims remain documentation assertions; CI workflows show test steps but are not evidence of executed results in this review; facts, design intent, and inference are not always clearly separated.

Risks and how to mitigate them
  • This is a static review with low confidence; security and performance assurances in the docs were not independently verified.
  • Before deployment, review GitHub Bot write permissions, direct use of GITHUB_TOKEN, and the secret proxy's allowed destination hosts.
  • Deployment requires a host with nested virtualization and several infrastructure components; license information is unknown.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision cf1a0e5e4cd9
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/netclode.svg)](https://followagents.com/en/agents/netclode)
<a href="https://followagents.com/en/agents/netclode"><img src="https://followagents.com/badge/netclode.svg" alt="FARS review"></a>

FAQ

What survives when a session is paused?
The VM is deleted, but JuiceFS keeps the workspace, installed tools, Docker images, and SDK session in S3 for the next resume.
How much privilege does the agent receive?
Inside its sandbox it can have root access, run Docker, and install software. The containment boundary is a per-session Kata VM using Cloud Hypervisor, while the host infrastructure remains the operator's responsibility.
Do model API keys enter the sandbox?
The documented design keeps them outside it. The secret-proxy injects real keys dynamically for permitted hosts.
Can inference remain on local hardware?
Yes. Ollama is supported for running models on the operator's own GPU; Anthropic, OpenAI, Mistral, and other remote providers are also supported.
What should be validated before adoption?
Confirm nested virtualization on the target server, the team's ability to operate the documented infrastructure, and the repository's licensing terms. Hardware sizing, performance, reliability, and cost benchmarks are not supplied.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.