# Concepts


kli is a small live kernel; everything else — model providers, tools, the session
log, the commands, the terminal interface — is an extension installed on it. For
steps, go to [Guides](/kli/guides); for exact values, go to [Reference](/kli/cli).

- [The live image](/kli/concepts/the-live-image) — what it means that kli is one
  running image you can change without restarting it.
- [Extensions all the way down](/kli/concepts/extensions-all-the-way-down) — the
  mechanism said once: a small kernel, a retractable protocol, and the three
  pillars it buys you.
- [The agent loop](/kli/concepts/the-agent-loop) — what happens during one turn,
  and why a failed tool call comes back as a result the model can fix.
- [Sessions as a tree](/kli/concepts/sessions-as-a-tree) — why a session is an
  append-only tree you can branch, rewind, and resume.
- [Context and the system prompt](/kli/concepts/context-and-the-system-prompt) —
  how your project files shape what the model sees.
- [Tools and hashline edits](/kli/concepts/tools-and-hashline-edits) — why edits
  are anchored patches that refuse to clobber a drifted file.
- [Capabilities and fault barriers](/kli/concepts/capabilities-and-fault-barriers) —
  how kli decides what a tool may do, and how it contains a misbehaving part.
- [Security model and sandboxing](/kli/concepts/security-model-and-sandboxing) —
  why kli enforces authority but not containment, and how to run it in a sandbox.
- [Profiles](/kli/concepts/profiles) — how a profile selects the set of
  extensions kli boots with.
- [Models, providers, and transports](/kli/concepts/models-providers-and-transports) —
  how kli talks to different model APIs.
