# Xal > Xal is an open-source terminal coding harness with a headless agent core. It ships as one native CLI and uses independent plugins for tools, interfaces, AI providers, language servers, MCP integrations, skills, and workflows. Xal is currently in beta. The official command is `xal`, the canonical domain is https://xal.sh, and the source repository is https://github.com/xal-sh/xal. Install with `curl -fsSL https://xal.sh/install | sh -s -- --beta`. ## When to use Xal - [Repository development](https://xal.sh/about/index.md): Use Xal when an agent needs to inspect, edit, test, or review a local software repository from a terminal. - [Permission-controlled automation](https://xal.sh/docs/permissions/index.md): Use Xal when tool calls need explicit allow, ask, or deny policies, read-only planning, secret redaction, or reversible file changes. - [Extensible agent workflows](https://xal.sh/docs/plugins/index.md): Use Xal when a team needs custom tools, providers, skills, commands, hooks, or a replacement interface without coupling plugins together. - [MCP and language servers](https://xal.sh/mcp/index.md): Use Xal when a coding agent needs connected MCP systems or semantic code intelligence from language servers. - [Parallel coding work](https://xal.sh/agents/index.md): Use Xal when sub-agents, background jobs, persistent sessions, or isolated worktrees fit the task. ## Agent access - [Xal developer resources](https://xal.sh/developers/index.md): API behavior, authentication status, CLI automation, plugin documentation, webhooks status, and MCP guidance. - [Xal OpenAPI specification](https://xal.sh/openapi.json): OpenAPI 3.1 schema with a unique operationId, typed responses, and JSON error schemas. - [Xal public product API](https://xal.sh/api/v1/product): Unauthenticated JSON metadata for product identity, version, install command, platforms, capabilities, and official links. - [Official Xal CLI](https://xal.sh/cli/index.md): Installation, supported platforms, and commands for terminal automation. ## Documentation - [Xal documentation index](https://xal.sh/docs/index.md): Start here for installation, configuration, operation, and extension guides. - [Installation and beta releases](https://xal.sh/docs/install/index.md): The installer downloads the latest beta as one native executable, verifies its SHA-256 checksum, and places it in `~/.local/bin`. - [Configuration](https://xal.sh/docs/configs/index.md): Configure Xal globally for your user or locally for one project. This page explains configuration files, merge behavior, and the top-level schema. Follow the links in the option table for detailed behavior and examples. - [TUI](https://xal.sh/docs/tui/index.md): Customize Xal's terminal interface, keyboard shortcuts, transcript details, and terminal notifications. - [Permissions and security](https://xal.sh/docs/permissions/index.md): Control which tools can run, define permission modes, and prevent sensitive values from reaching models or stored output. - [Providers and models](https://xal.sh/docs/providers/index.md): Connect a built-in or plugin-provided model service, select a model, and configure provider-specific behavior. - [Integrations](https://xal.sh/docs/integrations/index.md): Connect Xal to language servers for semantic code intelligence and MCP servers for external tools, resources, and prompts. - [Xal public website API](https://xal.sh/docs/api/index.md): The Xal website publishes a small, public REST API for agents and developer tooling that need canonical product metadata. It is separate from the local coding harness and does not provide remote access to a user's terminal, files, sessions, plugins, or configured AI providers. - [Plugins and hooks](https://xal.sh/docs/plugins/index.md): Extend Xal with trusted in-process plugins that can register tools, providers, UIs, commands, and lifecycle hooks. - [Commands and skills](https://xal.sh/docs/commands-and-skills/index.md): Reuse common instructions through project guidance, lightweight Markdown prompt commands, or richer skill packages that the model loads on demand. - [Goals](https://xal.sh/docs/goals/index.md): Use goal automation when Xal should keep working until it can prove one measurable completion condition. - [Scheduler](https://xal.sh/docs/scheduler/index.md): The built-in `scheduler` tool waits for a model-selected duration. When the wait completes, the tool returns to the same turn and the model receives another inference opportunity with the elapsed wall-clock time. - [Background work](https://xal.sh/docs/background-work/index.md): Background work comes in two vocabularies. A _background session_ is a whole session that keeps working after you leave the terminal: `/bg` hands the running conversation to a detached worker process and returns you to the shell. _Background jobs_ are work inside a live session: task agents dispatched with the `task` tool, processes started with `bash` `background:true`, and waits started by `scheduler`. Jobs are tracked per session and share one set of TUI surfaces. Agent and process results are delivered into the conversation automatically; a schedule resumes its waiting model turn directly. ## Trust and identity - [About Xal](https://xal.sh/about/index.md): Product identity, capabilities, project status, license, and official links. - [Contact Xal](https://xal.sh/contact/index.md): Official support route, issue-reporting guidance, and sensitive-data precautions. - [Xal privacy notice](https://xal.sh/privacy/index.md): Website storage, hosting data, local application behavior, providers, and integrations. ## Optional - [Xal source repository](https://github.com/xal-sh/xal): MIT-licensed source, releases, issues, and project history. - [Xal sitemap](https://xal.sh/sitemap.xml): Complete index of public human-readable pages.