Skip to main content

General

klaw is an open-source platform for deploying and managing AI agents at scale. It brings Kubernetes-style orchestration to AI agents—same familiar patterns, but for intelligent agents instead of containers.
“klaw” represents the tool that lets you grab and control AI agents, similar to how kubectl lets you control Kubernetes. It’s also a nod to the Kubernetes ecosystem (k8s, k3s, etc.).
  • Single binary: No Python setup, no dependencies
  • Distributed by design: Built-in controller-node architecture
  • Multi-channel: Native Slack integration, not just CLI
  • Production-ready: Namespaces, RBAC, observability built-in
  • 300+ models: Any LLM through unified API
klaw is currently in public alpha. It’s being used in production by early adopters, but expect some rough edges and breaking changes before 1.0.

Installation & Setup

  • OS: macOS, Linux, or Windows (WSL2)
  • Architecture: amd64 or arm64
  • Memory: 256MB minimum, 1GB recommended
  • Disk: 50MB for binary
  • Network: Outbound HTTPS access
  • Anthropic (Claude): Direct API access
  • OpenRouter: 100+ models through gateway
  • each::labs: 300+ models unified API
More providers coming soon.
No. klaw is a single binary with no external dependencies. You can optionally use Podman for containerized agents, but it’s not required.

Usage

  • klaw chat: Interactive CLI session for one user
  • klaw start: Full platform with Slack integration, cron scheduler, and multi-user support
Yes. Create multiple agents with different configurations, skills, and purposes. Use the orchestrator to route messages to the right agent automatically.
Agents can spawn sub-agents using the agent_spawn tool, share context through workspace files, or communicate via Slack channels in team deployments.
Yes. Use the cron system:
klaw cron create daily-report \
  --schedule "0 9 * * *" \
  --agent reporter \
  --task "Generate daily status report"

Deployment

Yes. klaw supports running agents in isolated Podman containers:
klaw build
klaw run myagent --task "..."
Use distributed mode:
# On controller
klaw controller start --port 9090

# On workers
klaw node join controller:9090 --token xxx
  • Cluster: Top-level isolation (per organization)
  • Namespace: Sub-division within a cluster (per team/project)
Similar to Kubernetes: namespaces provide logical isolation within a cluster.

Security

API keys are stored in environment variables or config files. They’re never sent to klaw servers—all LLM calls go directly to the provider.
By default, agents can:
  • Read/write files in their working directory
  • Execute bash commands
  • Make web requests
Limit access by restricting tools and using container mode.
  1. Limit tools when creating agents
  2. Set a specific working directory
  3. Use container mode for isolation
  4. Configure orchestrator rules for routing

Licensing

klaw is source-available under the each::labs License. The code is open, but there are some restrictions on commercial SaaS use.
Yes, klaw is free for:
  • Internal business use
  • Personal projects
  • Building your own AI applications
  • Consulting and professional services
You need a license for:
  • Multi-tenant SaaS offerings using klaw
  • White-label or OEM distribution
Contact enterprise@eachlabs.ai for licensing.

Contributing

See CONTRIBUTING.md for guidelines. Contributions welcome for:
  • Bug fixes
  • New features
  • Documentation
  • Tools and skills
GitHub IssuesInclude:
  • klaw version
  • OS and architecture
  • Steps to reproduce
  • Relevant logs