MacBuddy
fig icon
4.1(331 votes)

macOS

Updated: Jun 17, 2026

Fig is a macOS developer tool that layers autocomplete, workflows, and shell integrations on top of any terminal emulator you already use — turning the raw command line into something closer to an IDE experience.

What is fig?

Fig is a terminal enhancement layer for macOS that injects context-aware autocomplete directly into your existing shell session, whether you are running iTerm2, the built-in Terminal, Hyper, or VS Code's integrated terminal. Rather than replacing your workflow, it grafts intelligence onto it: as you type a command, a floating suggestion panel appears below your cursor, surfacing subcommands, flags, file paths, and even environment-specific values like running Docker container names or currently checked-out Git branches.

The project started as a way to solve a problem every developer knows well — you remember that a flag exists but not what it is called. Fig removes that friction loop of tab → man page → Stack Overflow → back to the terminal.

What does fig do best?

Fig's strongest suit is shell autocomplete that actually understands what you are doing in context. The suggestion engine knows that after git checkout you probably want a local branch name, not a random filename. After npm run it reads your package.json and lists the actual scripts defined there. After docker exec -it it queries running containers live.

Beyond autocomplete, Fig ships with a dotfiles syncing layer (keep your aliases and shell config in sync across machines) and a team-facing "workflows" feature that lets you encode runbook-style commands — long kubectl invocations, deploy scripts, database dumps — as shareable snippets your whole team can invoke from the command palette. For solo developers the autocomplete alone is the killer feature; for teams the workflows layer is genuinely useful.

  • Context-aware suggestions for 500+ CLI tools out of the box (git, npm, cargo, kubectl, aws, and many more)
  • Live environment data in completions — branch names, container IDs, process names, script keys
  • Custom completions via a typed TypeScript spec format you can contribute back to the open completion repository
  • Dotfiles manager with encrypted sync across machines
  • Team workflows — encode and share complex command sequences

Is fig free?

Fig offers a generous free tier that covers autocomplete for every built-in completion spec and the dotfiles syncing feature. The paid plans unlock advanced team workflow sharing, private completion specs, and some platform integrations. For individual developers the free offering is complete enough that most users will never need to upgrade.

Who should use fig?

Fig earns its place in the workflow of anyone who spends meaningful hours in the terminal but has not fully memorized every flag for every tool in their stack — which is basically everyone. I have been using it daily for weeks and the biggest beneficiaries I have noticed are developers who regularly context-switch between ecosystems: a morning of kubectl and Helm, an afternoon of npm and Vite, a deploy script in bash. Each toolchain has its own flag vocabulary and Fig means you do not have to keep all of it resident in your head.

It is less useful if you live in a locked-down corporate environment where installing accessibility-permission-requiring tools is blocked, or if you already have a deeply customised zsh setup with heavy plugin frameworks like Oh My Zsh + custom fzf bindings — there can be subtle conflicts. Power users with elaborate shell environments should budget some setup time.

How does fig compare to alternatives?

The closest comparison points are Warp, the terminal-as-app reimagination, and the shell plugin ecosystem (zsh-autosuggestions + fzf + a custom completion library). Warp is the more opinionated choice — it replaces your terminal entirely and is fast, well-designed, and increasingly AI-powered, but it requires you to abandon your existing terminal and learn its block-based model. Fig threads a different needle: it stays out of your way and enhances what you already have, which makes the switching cost essentially zero.

Against pure zsh completion scripts and fzf, Fig wins on breadth (500+ tool specs maintained by a community) and the GUI overlay that surfaces completions as a visual panel rather than a text popup. The tradeoff is that Fig requires macOS accessibility permissions to draw over other apps, which some users find uncomfortable. If that is a dealbreaker, zsh-autosuggestions with a hand-tuned fzf config is the privacy-first alternative — it just takes significantly more setup effort and lacks the team features.

Against Raycast's developer tooling, Fig is more narrowly terminal-focused but significantly deeper in that domain. They are complementary, not competitive.

What are the best fig alternatives?

If Fig does not fit your setup, the next-best options depend on what you value most. Warp is the premium choice if you are willing to swap your terminal entirely — it has native AI integration and an excellent block-based output model. zsh-autosuggestions plus fzf is the zero-permission, fully offline, infinitely customisable path. Fish shell ships its own smart completions baked in and is worth considering if you are open to a full shell change. For pure team workflow sharing, Runme and Charm's Gum scripts solve the runbook problem without requiring any system extension.

Software Information

Software Name
fig
Version
Latest
Developer
Category
Developer Tools
OS Compatibility
macOS
Architecture
Apple Silicon & Intel (Universal)
License
Shareware
Language
English
File Size
Last Updated
Jun 17, 2026