# Get started


This page gets you from nothing to a running session and names the things a kli session
does differently from other agents. It assumes you are comfortable in a terminal and
with git.

## Install and run

```sh
curl -fsSL https://kli.kleisli.io | sh
```

The installer drops a prebuilt binary under `~/.local` and a `kli` on your `PATH`
(Linux x86_64 and aarch64, macOS aarch64). On an Intel Mac, or for the Nix and
from-source paths, see [Installation](/kli/cli/installation).

kli reads an Anthropic key from `ANTHROPIC_API_KEY`; export it and the bundled
Anthropic provider is live. Other providers, OAuth, and credential files are in
[Connect a provider](/kli/guides/connect-a-provider).

```sh
export ANTHROPIC_API_KEY=sk-ant-...
cd path/to/your/repo
kli
```

Choose a model with `/model`, then type a request naming a file. 

## What a kli session does differently

- **It is fully permissioned by default.** There is no approval prompt. A tool call —
  bash, a file write, `eval` — runs the moment the model emits it, with the privileges
  of the kli process. Decide your confinement before you point it at anything you care
  about: [Restrict what kli can do](/kli/guides/restrict-what-kli-can-do) and the
  [security model](/kli/concepts/security-model-and-sandboxing).
- **A diff card is a change already on disk.** kli does not stage an edit for you to
  accept; the card is the receipt for a write that already happened. Keep it by doing
  nothing, drop it with git. Edits are anchored to line-and-content hashes, so a patch
  against a file that has drifted is rejected, not misapplied.
- **The session is a live image you can rewrite.** Behavior is CLOS cells over pandoric
  closures, so you can hot-patch the running agent from `/eval` without dropping the
  session — see [The live image](/kli/concepts/the-live-image).

## Next

- [Teach kli your project](/kli/get-started/teaching-kli-your-project) — an `AGENTS.md`
  kli reads at startup so it stops guessing your conventions.
- [Concepts](/kli/concepts) — the agent loop, sessions as a tree, the live image, and
  how authority is decided.
- [Extend kli](/kli/extend) — everything above the kernel is an extension, and this is
  the part you will live in.
