Skip to content

AwalTerminal/Awal-terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

419 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awal Terminal

Awal Terminal

ⴰⵡⴰⵍ — "word" in Amazigh

GitHub Release macOS License Homebrew Cask Stars Downloads Swift + Rust

The LLM-native terminal emulator for macOS.
Built for developers who work with AI coding agents.

Website · Download


What is Awal Terminal?

A native macOS terminal built from scratch with Swift and Rust, designed specifically for working with AI coding agents like Claude Code, Gemini CLI, and Codex CLI.

Workspace selector AI Components manager Mission Control dashboard

Features

Feature Description
GPU-Accelerated Rendering Metal-powered rendering at 120fps with a glyph atlas and triple buffering. 10,000-line scrollback buffer
LLM Profiles Switch between Claude, Gemini, Codex, or plain shell in one click. Save per-model configurations
AI Side Panel Track token usage, costs, context window, file references, and git changes in real time
Smart Output Folding AI tool calls, code blocks, and diffs auto-collapse into foldable regions. Click to expand
Screenshot to Session Press Cmd+Shift+S or click the camera icon to capture a screen region and paste its file path into the terminal. Perfect for sharing screenshots with AI agents
Voice Input Push-to-talk voice input powered by on-device speech recognition
AI Components Auto-detect your project stack and inject skills, rules, prompts, agents, MCP servers, and hooks into AI sessions from shared registries. Supports git, localskills, and local directory sources. Visual mapping editor for non-standard registry structures. Per-component enable/disable, security scanning with rules toggle, hook approval gate with audit trail, and import/export
Sub-Stack Detection Automatically detects frameworks like Next.js, Django, Flask, Vapor, NestJS, and more on top of base stack detection for more targeted component injection
Resume Sessions Browse and resume past AI sessions from the startup menu. Claude sessions show turn count and time ago; Codex and Gemini launch their built-in session pickers
Plan-Aware Tab Naming Automatically detects AI plan headers and offers to rename the tab to match the plan title
Smart Notifications Desktop alerts when long-running AI tasks complete
Tabs & Windows Multiple windows (Cmd+N), native tabs with drag-to-reorder, tab tearoff to new window, custom tab colors, per-tab titles, tab groups with collapse/expand, and vertical sidebar tab bar
Quick Terminal Quake-style dropdown terminal with a global hotkey (`Ctrl+``)
Find in Terminal Search through scrollback with match highlighting and keyboard navigation. OSC 8 hyperlinks and drag-and-drop file pasting
Syntax Highlighting Language-aware coloring for code blocks and diffs inside AI output
Git Integration Live branch, status, and changed files displayed in the status bar and side panel. Click any changed file to view its diff inline. Per-tab worktree isolation for parallel workstreams
Large Paste Protection Confirmation dialog for large pastes with options to save to file, truncate, or paste all. Configurable threshold
Mission Control Dashboard window (Cmd+Shift+D) showing all active AI agents across tabs and windows with real-time status, total cost, tokens, elapsed time, and per-agent kill switches
Session Recording Record AI coding sessions (Cmd+Option+Shift+R to start/stop) and export as GIF. Idle time compression for compact output
Per-Tab Token Tracking Each tab independently tracks its own token usage and cost, visible in the AI side panel and Mission Control
Danger Mode Skip all AI tool confirmation prompts for unrestricted sessions. Toggle from the View menu; always resets on app launch
Automatic Updates Checks GitHub Releases for new versions and shows an indicator in the status bar. Supports Homebrew and direct download updates
Command Palette Quick-access to all actions via Cmd+Shift+P with fuzzy search
Copy as Markdown Right-click or Cmd+Shift+C to copy terminal output with code fences, blockquotes, and formatting preserved
Smart Autocomplete File path and command history completions as you type
Remote Control Detect Claude Code's remote control mode, show a REMOTE badge in the status bar, and display a QR code popover to connect from your phone. Enable from the View menu
Prevent Sleep Prevent macOS from sleeping during active terminal sessions. Auto-activates during remote control sessions
Stealth Mode Full-screen black overlay that hides all terminal content while your session continues safely in the background. Press any key to return
Fully Configurable Theme colors, fonts, keybindings, and voice settings in a single config file

Getting Started

Install with Homebrew (recommended)

brew tap AwalTerminal/tap
brew install --cask awal-terminal

No quarantine workarounds needed — Homebrew handles it automatically.

Download manually

Grab the latest build from GitHub Releases.

Since the app is not yet notarized with Apple, macOS will block it on first launch. To bypass this:

  1. Right-click (or Control-click) the app and choose Open, then click Open in the dialog.

If that doesn't work, run this in Terminal:

xattr -cr AwalTerminal.app

Then open the app normally.

Build from Source

Requires Rust and Swift toolchains on macOS.

# Install just (task runner)
brew install just

# Build and run
just run

# Build release .app bundle
just bundle

# Create a new release
scripts/release.sh v0.15.0

Configuration

All settings live in ~/.config/awal/config.toml:

[font]
family = "JetBrains Mono"
size = 13.0

[theme]
bg = "#1e1e1e"
fg = "#e5e5e5"
accent = "#636efa"
cursor = "#ccccccb3"
selection = "#2d7fd44d"
tab_bar_bg = "#161616"
tab_active_bg = "#232323"
status_bar_bg = "#161616"

[voice]
enabled = true
language = "en"
vad_threshold = 0.02
dictation_auto_enter = false
dictation_auto_space = true
# command_prefix = ""

[recording]
max_duration = 300

[paste]
warning_threshold = 100000
truncate_length = 10000

[tabs]
random_colors = true
# random_color_palette = "#E55353, #3498DB, #27AE60"
confirm_close = true
loading_indicator = true
worktree_isolation = false
# worktree_branch_prefix = "awal/tab"

[quit]
confirm_close = true

[system]
prevent_sleep = false

[ai_components]
enabled = true
auto_detect = true
auto_sync = true
security_scan = true
require_hook_approval = true
remote_control = false

[ai_components.registry.awal-components]
url = "https://github.com/AwalTerminal/awal-ai-components-registry.git"
branch = "main"

[ai_components.registry.my-skill]
type = "localskills"
slugs = "ZpDEwZj1Yq"

[ai_components.registry.my-local]
type = "local"
path = "/path/to/local/registry"

Architecture

core/       Rust — terminal emulation, ANSI parsing, AI output analysis
app/        Swift — macOS UI, Metal rendering, voice input, AI side panel
scripts/    Build and release scripts
build/      Release artifacts
docs/       Promotional website (GitHub Pages)

Keybindings

Action Shortcut
New window Cmd+N
New tab Cmd+T
Close tab Cmd+W
Rename tab Cmd+Shift+R
Next tab Cmd+Shift+]
Previous tab Cmd+Shift+[
New tab group Cmd+Shift+G
Toggle group collapse Cmd+Shift+.
Mission Control Cmd+Shift+D
Command Palette Cmd+Shift+P
Copy as Markdown Cmd+Shift+C
Find Cmd+F
AI side panel Cmd+Shift+I
Quick terminal Ctrl+`
Sync AI components Cmd+Shift+Y
Screenshot to session Cmd+Shift+S
Voice input (PTT) Ctrl+Shift+Space
Preferences Cmd+,
Session recording Cmd+Option+Shift+R
Zoom in Cmd+=
Zoom out Cmd+-
Actual size (reset zoom) Cmd+0

License

MIT

About

LLM-native terminal emulator for macOS — AI components, multi-provider profiles, voice input, Metal GPU rendering

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors