Machine

The AI command center for a workforce of agents.
Your whole company. One repo you own.

Every agent, skill, connector, and memory is a file — 3,000+ tools connected, one versioned source of truth, scoped so each person and agent has exactly the right access. The agents work on real cloud computers and land what they produce through a change request you approve.

$ curl -fsSL https://kortix.com/install | bash
kortix
$
The thesis

The coding-agent loop, for real work

Describe intent, an agent edits files, you review the diff. Machine runs that same loop for support, ops, and research.

Agents are sandboxes

Every agent runs in its own disposable cloud VM, on its own git branch. Spin up thousands in parallel — nothing is shared between runs.

Work is code

Agents, skills, triggers, connectors and policies are plain files in one repo. Diff them, review them in a change request, roll them back.

You own the stack

Open source. Self-host the exact same stack, bring your own runtime and model keys. No black box, no lock-in.

The loop

From curl to production

One repo, one config, one command. The whole path, top to bottom.

01

Install & scaffold

One line installs the CLI. kortix init scaffolds kortix.toml and .kortix/, wired to your coding agent.

$ curl -fsSL https://kortix.com/install | bash
init
kortix init
kortix.toml
.kortix/opencode/
02

Build it locally, like code

An agent is markdown — a persona, its model, and its tools. Skills are folders it loads on demand. Edit them by hand, or describe what you want and let your coding agent write them.

support.md
---
description: Acme's support agent. Resolves tickets end to end.
mode: primary
model: anthropic/claude-opus-4-8
tools:
  lookup_order: true
---

You are Acme's support agent. Resolve customer tickets
end to end, with full product and order context.

Issue refunds under $500 on your own. Anything higher
goes to a human for approval.
03

Declare the project in one manifest

kortix.toml holds secrets, sandbox images, triggers, connectors, and channels. Versioned from the first commit.

kortix.yaml
kortix_version: 2

project:
  name: acme

# the OpenCode runtime config dir
opencode:
  config_dir: .kortix/opencode

# a trigger runs itself, on a schedule
triggers:
  - slug: daily-digest
    type: cron
    agent: research
    cron: "0 0 9 * * 1-5"
    prompt: Summarize yesterday across Slack & Linear

# connect a tool's API as agent tools
connectors:
  - slug: stripe
    provider: http
    base_url: https://api.stripe.com

# answer where your team works
channels:
  - platform: slack
    agent: support
04

Ship it

kortix ship commits, pushes, builds the sandbox, and prompts for missing secrets. Triggers and channels go live immediately — no separate infra to stand up.

kortix ship
kortix ship
committed & pushed to main
secrets synced · sandbox built
live — triggers & channels running
05

It runs as a fleet of sandboxes

Every session is its own VM on its own branch, booting the runtime and your repo. Spawn thousands in parallel — zero interference. A change request is the only way work reaches main, so everything is reviewable and reversible.

main ──────●────────●────────●────▶
├─ session 1f3a sandbox ─╮
├─ session 9b22 sandbox ─┤ change
├─ session 4e07 sandbox ─┤ requests
└─ … ×1000 sandboxes ─╯
 
review → merge → main
06

Bring your own runtime & model

Sessions run on an open runtime. Bring your own keys — Anthropic, OpenAI, local — or use Machine compute. Nothing about the runtime is hidden.

$ kortix providers login anthropic
using your own key (byo)
 
# or point at any runtime / model
$ kortix providers set --model opus-4.8
$ kortix providers set --model gpt-5
One CLI

The whole lifecycle, one CLI

Scaffold, ship, run, automate, connect and review — one CLI does it all. The same binary is pre-authenticated inside every sandbox, so agents drive Machine with the exact commands you do.

Scaffold & ship

$ kortix init

Scaffold kortix.yaml + .kortix/

$ kortix ship

Commit, push, link & go live

$ kortix validate

Type-check your manifest

Run & talk

$ kortix sessions

Spawn & manage sandbox sessions

$ kortix chat

Talk to a session's agent

$ kortix files

Browse the repo, diffs & branches

Automate

$ kortix triggers

Cron & webhook automations

$ kortix channels

Connect Slack & chat surfaces

Connect

$ kortix connectors

Wire up 3,000+ tools

$ kortix secrets

Manage encrypted secrets

$ kortix env

Pull / push as dotenv

Review

$ kortix cr

Open, review & merge change requests

$ kortix access

Invite, grant & revoke access

Operate

$ kortix self-host

Run your own Machine cloud

$ kortix hosts use

Switch cloud ↔ local

$ kortix providers

Bring your own model keys

Full CLI reference
Scale

1 session = 1 sandbox = 1 branch

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextEverySessionRuns6dd000d3

  • Anything worth keeping comes back as a change request — and merges into main
  • Main is always the source of truth: every agent action is auditable Git history
  • It’s all Git under the hood — branch, diff, review, merge
  • The same Machine CLI runs inside every sandbox — so running locally and in the cloud is identical
  • Isolated compute per session; one runaway agent can’t touch another
git log --graph
* c7e2 CR #84 merged (main)
|\
| * s_7f2a triage 14 tickets
| * s_3c1d build board deck
| * s_9a04 draft outreach
|/
* a1f3 baseline (main)
… millions of branches, one source of truth
Connectors

Every tool, behind one interface

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextKortixConnectorsPut612736c1

  • 3,000+ one-click apps via Pipedream — OAuth handled for you
  • Or bring any MCP, OpenAPI, GraphQL or HTTP endpoint — same interface
  • Credentials live server-side and never reach the sandbox
  • Agents hold one scoped Machine token; connect once, shared org-wide, self-healing
connectors · request path
AppMCPOpenAPIGraphQLHTTP
sandboxagent runtime
only a scoped token leaves the box
KORTIX_TOKEN
Machine Connectorconnect proxy · gateway
SlackSlack
GitHubGitHub
SalesforceSalesforce
NotionNotion
StripeStripe
LinearLinear

+ 3,000 more via Pipedream

It's all code

A platform that improves itself

hardcodedUi.autoAppPublicMarketingDevelopersPageJsxTextBecauseEverythingIsd6715079

Everything is files

Agents, skills, tools, connectors and schedules live in the repo. Edit in your IDE, in the web UI, or let an agent edit them.

Agents edit themselves

Describe a change and an agent ships it — referencing what already exists, reusing patterns, opening a PR you review.

Skills, git-backed and invisible

Non-devs publish skills as markdown; Machine handles the branch, PR and merge behind the scenes. Versioned, reviewable, auditable.

Self-healing integrations

When a token expires or a service blips, Machine refreshes it or asks you to reconnect in plain language — never a cryptic error.

Quality gates built in

Type checks, lint, docs validation and dedup run before anything merges, so a fast-moving, agent-written codebase stays coherent.

Every feature is a conversation

The UI is a reference, not a requirement. Anything you can do in a menu, you can do with a message.

Start building

Ship your first internal agent

Install the CLI, run kortix init, and deploy the agent you already use.
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix
kortix