How AdaL Works
AdaL coordinates model requests, tool execution, context assembly, and session storage. You don't need any of this to use AdaL — it's here when you want to understand what's happening under the hood.
The agent loop
A submitted message becomes part of the conversation. AdaL builds a model request from its system prompt, the conversation history, the available tools, and your project context, then sends it to the selected model.
The model streams back a response that can contain text and tool calls. AdaL executes each tool call — reading a file, running a command, editing code, searching the web — and records the results. That completes one turn. If more work is needed, the loop continues; otherwise the run ends and you get the answer.
Messages you type while the agent is working are queued and applied at the next turn boundary, so you can steer without interrupting.
Tools and permissions
Tools are what AdaL can do: read and edit files, run shell commands, search the web and your codebase, use a browser, and generate media.
AdaL asks before every file edit and non-project shell command. You approve each call, or grant standing permission for the session (auto-accept edits, full auto). Read-only operations — reading files, searching, listing — run without asking. In headless runs, permission modes decide up front what may run.
Context
AdaL builds its picture of your project from the working directory: it discovers your code, reads AGENTS.md if present, and pulls in anything you attach with @. Skill instructions load on demand when a task needs them — nothing is preloaded that you didn't ask for.
When the conversation grows long, AdaL compacts older messages into a summary so the context window stays useful.
Capabilities and skills
Capabilities are AdaL's power features — browser use, deep research, image/video/audio generation — and they load on their own when a task needs them. Skills are reusable domain expertise (yours or from community marketplaces) that teach AdaL a workflow. Custom tools add anything else you can write in Python.
Sessions
Every conversation is a session, saved automatically. Quit and resume later, fork a new approach from an earlier point, or run sessions in parallel — one per worktree, so parallel work never conflicts.
Interfaces
All interfaces drive the same agent: the interactive terminal UI, the agentic IDE, the Desktop app, headless mode for scripts, and the Python SDK for embedding. A session started in one place can be continued in another.