Open Source Alternatives
  • Alternatives
  • Categories
    Categories by size882 projects
    • Developer Tools461
    • AI & Machine Learning404
    • Web Development196
    • Business & Productivity191
    • Communication & Collaboration126
    • Security & Monitoring126
    • IT Management123
    • Product & Project Management106
    • Cloud & Hosting105
    • Data & Analytics104
    Browse all 21 categoriesLLMOps & AI Tooling, Design & Creative and 9 more
  • Blog
  • Advertise
SearchNotion, Slack, password manager.../
Submit
Open Source Alternatives
  • Alternatives
    • Developer Tools461
    • AI & Machine Learning404
    • Web Development196
    • Business & Productivity191
    • Communication & Collaboration126
    • Security & Monitoring126
    • Browse all 21 categories
  • Blog
  • Advertise
Submit your project

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Product

  • Categories
  • Tag
  • Advertise

Resources

  • Blog
  • Collection
  • Submit

Company

  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap

Alternatives

  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
© 2026 Open Source Alternatives. All rights reserved.
Open SourceAlternatives
Home/Categories/Developer Tools/deja
deja logo

deja

Open source alternative to Warp, GitHub Copilot CLI, Tabnine CLI and Gemini Code Assist

  • 912 stars
  • MIT
  • Active this month
  • Last commit 9 days ago

Last verified Oct 20, 2026

Generate inline zsh shell suggestions with fuzzy matching, directory awareness, and sequence prediction. MIT licensed, local-only, no account needed.

Visit websiteGitHub912 stars
image of deja
TL;DR

deja is a predictive ghost-text autosuggestion plugin for zsh, built in Go with an MIT license. It replaces zsh-autosuggestions with fuzzy matching, directory awareness, and command-sequence prediction, all running in a local background daemon with under 1ms response time per keystroke. Unlike paid tools such as Warp or GitHub Copilot CLI, deja stores everything in a local SQLite database and requires no account, no cloud sync, and no subscription. Best for zsh power users who want smarter history-driven suggestions without sending command history to a commercial service.

Read the full breakdownHide the full breakdownWho it is for, how it works, trade-offs, the quick start and the FAQ
who it's for

Who deja is for#

zsh power users outgrowing zsh-autosuggestions

Developers who find that standard history prefix matching misses most of what they actually want to type. deja imports your existing zsh history on first run, so the switch is low-friction. The fuzzy matching and sequence prediction start adding value immediately against a full history file.

Skip if:

If you rely on zsh-autosuggestions, you must remove it before enabling deja; the two plugins cannot run together. If plain prefix matching already covers your workflow, the added complexity of a background daemon is not worth it.

Security-conscious developers with sensitive terminal sessions

Developers who handle credentials, internal hostnames, or project-specific paths in the terminal and want smarter suggestions without sending that history to an external server. deja's local-only operation satisfies privacy requirements that Warp and GitHub Copilot CLI cannot meet by design.

Skip if:

If you already use a cloud-backed terminal you are comfortable with and privacy of shell history is not a concern, deja's local-only constraint removes features like cross-device sync that you may rely on.

the problem

The problem it solves#

zsh-autosuggestions is useful but limited. It only surfaces commands that start with exactly what you have already typed, so fuzzy matches and common command sequences go unrecognized. Type a few letters of a command you run constantly in a specific directory, and the built-in engine has no way to surface it if your prefix does not match the beginning of a stored line.

The commercial terminals and AI shell tools that solve this challenge, including Warp and GitHub Copilot CLI, do so by routing shell history to their servers. For developers handling credentials, internal hostnames, or sensitive project paths in the terminal, that is a real privacy cost. There is no open option that combines accurate, low-latency shell suggestions with strict local-only operation.

how deja solves it

How it solves it#

Fuzzy Matching Across Your Entire History

Suggests commands even when you skip letters or type them out of order. Uses a configurable preset (tight, smart, or loose) to control how far apart matched characters can be in a candidate. With the default smart preset, typing `gco` can surface `git checkout main` even if that string never started with `gco` in your history. Presets can be toggled live at the prompt with Shift+arrow keys.

Directory-Aware Ranking

Commands you run in a specific directory rank higher when you are in that same directory. Switching projects shifts the suggestion ranking automatically. A command like `npm run dev` climbs to the top when you are in your frontend project folder and drops back down when you move to a different directory. No manual configuration is needed.

Command-Sequence Prediction

Learns which commands you typically run in sequence. If you consistently run `make test` after `make build`, deja learns that pair and predicts `make test` on the next empty prompt after `make build` completes. Sequence data is stored locally in the SQLite database alongside frecency data.

Frecency Scoring with Exponential Decay

Blends command frequency with recency using a 1-week exponential decay. Commands you ran yesterday outrank commands from six months ago at the same frequency. Commands you run daily consistently score above one-off commands from the same period. The scoring updates after every command with no manual tuning required.

Sub-Millisecond Background Daemon

A single lightweight Go daemon runs in the background and serves all open terminal windows simultaneously. Response time per keystroke is under 1ms. The daemon auto-spawns on first use, restarts automatically after an upgrade, and survives shell reloads. No separate service manager or configuration is needed.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • Fully local with no account or subscriptiondeja stores all data in a local SQLite file and the daemon never opens a network connection. Unlike Warp or GitHub Copilot CLI, there is no sign-up, no API key, and no cloud account required. The tool works offline and costs nothing beyond the machine it runs on.
  • Respects zsh privacy settings nativelyCommands prefixed with a space, when HIST_IGNORE_SPACE is set, are skipped by both zsh and deja. Patterns matching HISTORY_IGNORE are excluded from the deja database as well, not just from ~/.zsh_history. A skipped command is also dropped as the previous command for sequence prediction, so it cannot resurface indirectly through the sequences table.
  • MIT license with no commercial restrictionsMIT licensed, meaning personal, commercial, and modified use are unrestricted. No AGPL network-service clauses to navigate for self-hosted products, and no proprietary lock-in if you need to patch the binary or fork the integration for your team.

Trade-offs

  • -zsh-only; no bash, fish, or other shell supportdeja uses zsh-specific internals including POSTDISPLAY for ghost text rendering and ZLE widget wrapping for key bindings. Bash, fish, and other shells are not supported. If your team uses a mix of shells or relies primarily on bash, deja provides no value and the background daemon is unnecessary overhead.
  • -History-driven: cannot suggest commands you have never typeddeja's suggestions always come from your own zsh history. It cannot generate novel commands from a description, unlike GitHub Copilot CLI or Warp's AI features. For developers who use their terminal to learn new CLIs or ask for command syntax they do not know yet, a history-based tool is insufficient on its own.
versus alternatives

deja vs alternatives#

deja vs Warp

Warp is a terminal emulator with built-in AI shell suggestions and cloud-synced history. deja is a zsh plugin that adds predictive autosuggestions to any terminal emulator. They overlap on the shell suggestion problem but serve fundamentally different deployment models.

FeaturedejaWarp
LicenseMITProprietary
Self-hostingLocal binary, no serverNo; cloud-connected terminal
Shell historyLocal SQLite, never transmittedSynced to Warp's cloud
PlatformAny terminal (zsh only)Warp terminal only
CostFreeFree tier with paid plans

deja is the better choice when you want smarter suggestions inside your existing terminal setup without switching terminal emulators, or when privacy of shell history is a hard constraint. Warp is worth considering when you want a fully integrated AI-powered terminal experience with cross-device history sync and LLM-generated command assistance beyond what your own history contains.

deja vs GitHub Copilot CLI

GitHub Copilot CLI provides AI-powered shell suggestions via a language model and requires a GitHub Copilot subscription. deja provides history-driven suggestions with no subscription, no API key, and no network dependency.

FeaturedejaGitHub Copilot CLI
LicenseMITProprietary
Suggestion sourceLocal zsh historyOpenAI language model
CostFreeCopilot subscription required
Offline useYesNo
Novel command generationNoYes

deja wins on cost, privacy, and offline availability. GitHub Copilot CLI wins when you need to generate commands you have never typed before, or when you want natural language to shell command translation. For developers who primarily want to navigate their own command history faster and more accurately, deja requires no account and adds no latency from a network call. For developers who use the terminal to discover new CLI tools or generate complex one-off commands, GitHub Copilot CLI's language model backend provides value deja cannot match.

install · quick start

Quick start#

bash
Install deja via the curl installer on any macOS or Linux system; the script handles setup, history import, and shell integration.

```bash
curl -fsSL https://raw.githubusercontent.com/Giammarco-Ferranti/deja/main/install.sh | sh
```
tech stack · detected from GitHub

What it's built on#

Languages
Go
frequently asked

FAQ#

Is deja free to use?

Yes. deja is MIT licensed and has no paid tier, managed cloud option, or subscription. You install it locally and run it at no cost. The only dependency is a working zsh installation on macOS or Linux.

Does deja send my shell commands to any external server?

No. All command history is stored in a local SQLite database at ~/.local/share/deja/deja.db. The background daemon does not open any network connections. Your shell history stays on your machine.

Can deja run alongside zsh-autosuggestions?

No. deja renders its own ghost text and wraps the same ZLE widgets as zsh-autosuggestions. If it detects zsh-autosuggestions is loaded, it prints a warning and stands down rather than competing. To use deja, remove zsh-autosuggestions from your plugins list and restart your shell.

What shells does deja support?

Only zsh. deja uses zsh-specific internals including POSTDISPLAY for ghost text rendering and ZLE widget wrapping for key bindings. There is no support for bash, fish, or POSIX shells.

How does deja learn command sequences like running make test after make build?

After every command completes, deja records the pair of (previous command, current command) in a local sequences table in its SQLite database. The next time you run the first command, deja uses this table to weight the predicted follow-up higher in the ranking. The sequence data never leaves your machine.

also worth a look

Similar open-source tools#

Hypa

Alternative toConductor

Local-first terminal workspace for AI coding agents

  • 212 GitHub stars
  • FSL-1.1-ALv2Licence FSL-1.1-ALv2

mTarsier

Alternative toKlavis AI

Free desktop app for managing MCP servers and AI agents

  • 50 GitHub stars
  • MITLicence MIT

Cline

Alternative toGitHub Copilot

VS Code AI agent that plans and edits across your entire project

  • 70,766 GitHub stars
  • Apache-2.0Licence Apache-2.0

Continue

Alternative toGitHub Copilot

Connect any LLM to VS Code for AI completions and codebase chat

  • 36,273 GitHub stars
  • Apache-2.0Licence Apache-2.0

PearAI

Alternative toCursor

Open source AI code editor with chat, autocomplete, and search

  • 708 GitHub stars
  • MITLicence MIT

REA (Reverse Engineer Anything)

Featured

Alternative toRevEng.AI

AI-powered reverse engineering for binaries, apps, and assemblies.

  • 345,900 GitHub stars
  • MITLicence MIT
by category

Open source tools in these categories#

463

Developer Tools

REA (Reverse Engineer Anything), superpowers, Skills for Real Engineers
404

AI & Machine Learning

freeCodeCamp, OpenClaw, REA (Reverse Engineer Anything)

Featured

Inbox Zero

Alternative toSuperhuman

AI email assistant that drafts replies and clears your inbox

  • 12,712 GitHub stars
  • AGPL-3.0Licence AGPL-3.0
  • #Email

rakazo

Alternative toGrok Bot

AI teammates you own: your keys, your model, your machine.

  • 4,904 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents

Omnara

Alternative toCClaude Managed Agents

Open-source agent deployment API. Self-host or use Omnara Cloud.

  • 2,957 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents
Feature your project

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Find open source alternatives to paid software

/
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Airtable to AITable
  • Muse to OpenClaw
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Microsoft Teams to Rocket.Chat
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Firebase to Supabase
  • 1Password to KeePassXC
  • Confluence to Docmost
  • Contentful to Strapi
  • Adobe Premiere Pro to Shotcut
  • ChatGPT to AnythingLLM
  • LangSmith to Langfuse
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Airtable to AITable
  • Muse to OpenClaw
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Microsoft Teams to Rocket.Chat
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Firebase to Supabase
  • 1Password to KeePassXC
  • Confluence to Docmost
  • Contentful to Strapi
  • Adobe Premiere Pro to Shotcut
  • ChatGPT to AnythingLLM
  • LangSmith to Langfuse