aichat is a free, open source ai interaction & interfaces project written in Rust and released under Apache-2.0. It has 10,452 GitHub stars, 743 forks and 104 open issues, and was last pushed 7 months ago. On this registry it ranks #38 of 76 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is aichat?

AIChat is an all-in-one LLM command-line tool, written in Rust and licensed under Apache-2.0, that gives developers a shell assistant, an interactive chat REPL, retrieval-augmented generation, and AI tools and agents through a single terminal interface to more than twenty language model providers.

What it is

AIChat is a command-line application in the Rust ecosystem, distributed through crates.io and the usual system package managers, that unifies access to over twenty language model providers behind one command. It connects to OpenAI, Claude, Gemini (Google AI Studio), Ollama, Groq, Azure-OpenAI, VertexAI, Bedrock, Github Models, Mistral, Deepseek, AI21, XAI Grok, Cohere, Perplexity, Cloudflare, OpenRouter, Ernie, Qianwen, Moonshot, ZhipuAI, MiniMax, Deepinfra, and VoyageAI, and it can also address any provider that exposes an OpenAI-compatible API. The same binary covers one-shot command-line prompts, an interactive REPL, and, per its repository topics, a web UI, which means the choice of model becomes a configuration detail rather than a reason to learn a different tool.

The concrete problem it solves is fragmentation. Anyone working with more than one model vendor otherwise maintains separate credentials, separate client programs, and separate invocation habits for each provider, plus ad-hoc shell scripts for anything that needs to pipe in local files or command output. AIChat replaces that collection of provider-specific clients and throwaway scripts with one aichat command whose flags and input forms stay the same regardless of which model is answering, and it lives in the AI Interaction and Interfaces category of this registry.

Key capabilities

  • Multi-provider access through a unified interface covering more than twenty providers, including OpenAI, Claude, Gemini, Ollama, Groq, Azure-OpenAI, VertexAI, Bedrock, and any OpenAI-compatible API endpoint.
  • CMD mode for one-shot use, invoked as aichat hello or by piping input such as cat data.txt | aichat.
  • REPL mode, an interactive chat loop with tab autocompletion, multi-line input, history search, configurable keybindings, and custom REPL prompts.
  • Shell Assistant, which turns a task described in natural language into a shell command and adjusts to the host operating system and shell environment.
  • Multi-form input through the -f flag and the REPL .file command: local files such as aichat -f image.png -f data.txt, whole directories as aichat -f dir/, remote URLs as aichat -f https://example.com, external command output such as git diff, the last reply via .file %%, and combined inputs such as aichat -f dir/ -f data.txt explain.
  • Roles and sessions, where a role bundles a prompt with model configuration and a session preserves context across a conversation.
  • Macros, RAG for pulling external documents into a conversation, and function calling, with supporting functions hosted in the separate llm-functions repository.

Who uses it and how

  • Terminal-centric developers who want natural-language task descriptions converted into commands matched to their own operating system and shell, without leaving the prompt.
  • Engineers who switch between hosted and local models, using OpenAI, Claude, or Gemini keys for heavy work and Ollama for local inference under the same command.
  • Users who automate: CMD mode composes inside shell pipelines, and macros collapse repeated sequences of REPL commands into one invocation for recurring tasks.
  • Practitioners doing document-grounded work, who point RAG at directories or files rather than pasting content by hand.
  • Android users on Termux, who install through pkg install aichat, alongside Homebrew, Pacman, and Scoop users on desktop systems.

Getting started

Install with cargo install aichat, brew install aichat, pacman -S aichat, scoop install aichat, or pkg install aichat on Termux; pre-built binaries for macOS, Linux, and Windows are also available from GitHub Releases and need only to be placed on the PATH. Configuration is then a matter of adding provider credentials or pointing at a local Ollama instance.

How it compares

This registry entry names no comparable or competing products, so AIChat stands alone here rather than being contrasted with a list of paid alternatives. A reader evaluating it against another tool should do so outside this page.

When to use it — and when not to

Choose AIChat when the goal is one terminal workflow across many providers and the operator is comfortable supplying their own API credentials or running a local model server. It is the wrong fit for anyone seeking a managed, hosted service with provider billing handled for them, and it should be treated with care where function calling matters, since the function definitions live in a separate repository rather than inside this project. The entry carries a substantial open issue count of 104, and the README excerpt shown in this registry is truncated, so a prospective adopter should read the upstream documentation in full before standardizing on it.

project readme (upstream, from github) — read inline

AIChat: All-in-one LLM CLI Tool

CI Crates Discord

AIChat is an all-in-one LLM CLI tool featuring Shell Assistant, CMD & REPL Mode, RAG, AI Tools & Agents, and More.

Install

Package Managers

  • Rust Developers: cargo install aichat
  • Homebrew/Linuxbrew Users: brew install aichat
  • Pacman Users: pacman -S aichat
  • Windows Scoop Users: scoop install aichat
  • Android Termux Users: pkg install aichat

Pre-built Binaries

Download pre-built binaries for macOS, Linux, and Windows from GitHub Releases, extract them, and add the aichat binary to your $PATH.

Features

Multi-Providers

Integrate seamlessly with over 20 leading LLM providers through a unified interface. Supported providers include OpenAI, Claude, Gemini (Google AI Studio), Ollama, Groq, Azure-OpenAI, VertexAI, Bedrock, Github Models, Mistral, Deepseek, AI21, XAI Grok, Cohere, Perplexity, Cloudflare, OpenRouter, Ernie, Qianwen, Moonshot, ZhipuAI, MiniMax, Deepinfra, VoyageAI, any OpenAI-Compatible API provider.

CMD Mode

Explore powerful command-line functionalities with AIChat's CMD mode.

aichat-cmd

REPL Mode

Experience an interactive Chat-REPL with features like tab autocompletion, multi-line input support, history search, configurable keybindings, and custom REPL prompts.

aichat-repl

Shell Assistant

Elevate your command-line efficiency. Describe your tasks in natural language, and let AIChat transform them into precise shell commands. AIChat intelligently adjusts to your OS and shell environment.

aichat-execute

Multi-Form Input

Accept diverse input forms such as stdin, local files and directories, and remote URLs, allowing flexibility in data handling.

Input CMD REPL
CMD aichat hello
STDIN cat data.txt | aichat
Last Reply .file %%
Local files aichat -f image.png -f data.txt .file image.png data.txt
Local directories aichat -f dir/ .file dir/
Remote URLs aichat -f https://example.com .file https://example.com
External commands aichat -f '`git diff`' .file `git diff`
Combine Inputs aichat -f dir/ -f data.txt explain .file dir/ data.txt -- explain

Role

Customize roles to tailor LLM behavior, enhancing interaction efficiency and boosting productivity.

aichat-role

The role consists of a prompt and model configuration.

Session

Maintain context-aware conversations through sessions, ensuring continuity in interactions.

aichat-session

The left side uses a session, while the right side does not use a session.

Macro

Streamline repetitive tasks by combining a series of REPL commands into a custom macro.

aichat-macro

RAG

Integrate external documents into your LLM conversations for more accurate and contextually relevant responses.

aichat-rag

Function Calling

Function calling supercharges LLMs by connecting them to external tools and data sources. This unlocks a world of possibilities, enabling LLMs to go beyond their core capabilities and tackle a wider range of tasks.

We have created a new repository https://github.com/sigoden/llm-functions to help you make the most of this feature.

AI Tools & MCP

Integrate external tools to automate tasks, retrieve information, and perform actions directly within your workflow.

aichat-tool

AI Agents (CLI version of OpenAI GPTs)

AI Agent = Instructions (Prompt) + Tools (Function Callings) + Documents (RAG).

aichat-agent

Local Server Capabilities

AIChat includes a lightweight built-in HTTP server for easy deployment.

$ aichat --serve
Chat Completions API: http://127.0.0.1:8000/v1/chat/completions
Embeddings API:       http://127.0.0.1:8000/v1/embeddings
Rerank API:           http://127.0.0.1:8000/v1/rerank
LLM Playground:       http://127.0.0.1:8000/playground
LLM Arena:            http://127.0.0.1:8000/arena?num=2
Proxy LLM APIs

The LLM Arena is a web-based platform where you can compare different LLMs side-by-side.

Test with curl:

curl -X POST -H "Content-Type: application/json" -d '{
  "model":"claude:claude-3-5-sonnet-20240620",
  "messages":[{"role":"user","content":"hello"}], 
  "stream":true
}' http://127.0.0.1:8000/v1/chat/completions
LLM Playground

A web application to interact with supported LLMs directly from your browser.

aichat-llm-playground

LLM Arena

A web platform to compare different LLMs side-by-side.

aichat-llm-arena

Custom Themes

AIChat supports custom dark and light themes, which highlight response text and code blocks.

aichat-themes

Documentation

License

Copyright (c) 2023-2025 aichat-developers.

AIChat is made available under the terms of either the MIT License or the Apache License 2.0, at your option.

See the LICENSE-APACHE and LICENSE-MIT files for license details.

Frequently asked questions

Is aichat free to use?

aichat is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does aichat do?

All-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, with access to OpenAI, Claude, Gemini, Ollama, Groq, and more.

What is aichat written in?

aichat is primarily written in Rust. Its source is publicly available at https://github.com/sigoden/aichat, and it has 10,452 GitHub stars.