Use when the user wants to drive cognee from the terminal with cognee-cli — remember/recall/forget/improve memory commands, managing datasets and config, or database migrations.
690c0eccognee-cli ships with the package (entry point in cognee/cli/_cognee.py;
each command lives in cognee/cli/commands/). Every command has
--help with examples — prefer that over guessing flags. Needs
LLM_API_KEY configured, same as the SDK.
The memory commands are the primary surface as of cognee 1.x:
cognee-cli remember "Your text here" # also accepts file paths / URLs
cognee-cli remember ./docs --dataset-name my_project
cognee-cli recall "Your question" # query the graph
cognee-cli recall "keyword" --query-type CHUNKS
cognee-cli forget --all # wipe local state
remember is ingest + graph build in one step (add + cognify under the
hood); --background/-b runs the cognify stage in the background, and
--dry-run estimates LLM tokens/cost without ingesting. recall takes
--datasets/-d, --top-k/-k (default 10), and --session-id/-s.
forget targets --dataset, --dataset-id, --data-id (needs a dataset), or
--everything/--all — one unified command covering what delete, prune,
and empty_dataset used to do separately.
forget --alldoes not ask for confirmation. It deletes every dataset immediately, even on a non-interactive stdin. The legacydelete --allpromptsDelete ALL data from cognee? [y/N]first, so switching toforgetsilently drops that safety net — script it with care.
Search types match exactly 7 of the SDK's SearchType enum (cognee/modules/search/types/SearchType.py), those 7 being chosen in (cognee/cli/config.py:SEARCH_TYPE_CHOICES):
GRAPH_COMPLETION, RAG_COMPLETION, CHUNKS, SUMMARIES, CODE, CYPHER, GRAPH_REPORT
Others must be reached from the SDK, not CLI; e.g. call cognee.recall with query_type=SearchType.TEMPORAL
Note the CLI defaults --query-type to GRAPH_COMPLETION, whereas the SDK's
cognee.recall() auto-routes when query_type is omitted.
Session entries are currently written from the SDK — cognee.remember(..., session_id="chat_1") — not the CLI (cognee-cli remember has no session
flag). The CLI side of session memory is reading and bridging:
cognee-cli recall "question" -s chat_1 # session cache first: without -d/-t
# this searches the session directly
cognee-cli sessions get # retrieve session Q&A history
cognee-cli improve -d my_project -s chat_1 # bridge session content into the graph
cognee-cli improve -d my_project # enrich/index the graph (no session)
cognee-cli feedback ... # attach feedback to results
improve also takes --node-name, --feedback-alpha (default 0.1), and
--background/-b. remember/improve build their graphs through
cognify(), so cognify-level settings (e.g. CONTRADICTION_DETECTION=true)
apply to them too.
add, cognify, search, memify, and delete still ship and are what the
memory commands call underneath. Use them only to drive a single stage in
isolation; prefer remember/recall/forget/improve otherwise.
cognee-cli add "text" && cognee-cli cognify # what `remember` does in one step
cognee-cli search "question" # `recall` minus routing/scope/session sources
cognee-cli memify -d my_project # custom extraction/enrichment tasks
cognee-cli delete --all # superseded by `forget --all`
cognee-cli datasets list # dataset operations
cognee-cli config get [key] [--show-secrets] # view one/all settings (API keys masked by default)
cognee-cli config set <key> <value> # set + persist to ./.env in the cwd
cognee-cli config unset <key> # reset a key to its default (also persisted)
cognee-cli -ui # launch API server + UI (see cognee-server skill)
cognee-cli serve --url http://localhost:8000 # connect CLI/SDK to a running instance
cognee-cli upgrade # apply migrations
cognee-cli downgrade
cognee-cli history
cognee-cli current
Typically needed after version upgrades when the server refuses to start on an old schema.
remember (and add) without --dataset-name targets the default dataset
main_dataset; recall/search operate across your accessible datasets
unless a dataset is given.forget refuses to run bare — pass --dataset, --dataset-id, --data-id
(with a dataset), or --everything/--all.recall -s, sessions get, improve -s) require
CACHING=true (the default) — with it off, session reads return nothing and
SDK session writes raise. To cut read latency and token cost while keeping
session memory, cognee-cli config set AUTO_FEEDBACK false — by default
cognee makes one structured-output LLM call per answered query to self-tune
its memory.memify requires one of the arguments -d/--dataset-name --dataset-idconfig set/config unset write to the .env file in whatever directory
you run the command from (creating it if missing). config reset (reset
all keys) is still not implemented..env actually wins is not always the cwd one. At import, cognee
calls dotenv.load_dotenv(override=True), which resolves relative to the
cognee package location, not your working directory. In a source/editable
checkout (uv pip install -e .) a .env at the repo root therefore shadows
the .env in the directory you ran from — and because override=True, it
also beats variables you exported. Symptom: config set appears to do
nothing, or the CLI connects to a backend you thought you had overridden.
To test against different settings, move the repo .env aside, or set
values programmatically after import (cognee.config.set_*). (Under
python -c the cwd .env does win, because dotenv falls back to the cwd
when __main__ has no __file__ — which is why the same command can
behave differently as a script vs. -c.)Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/cognee-cli · pinned to the source commit
# Run from your project root
git clone https://github.com/topoteretes/cognee.git .skillboard-tmp
git -C .skillboard-tmp checkout 690c0ec023719a2a277dc893cdecfec1ca8012cc
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.claude/skills/cognee-cli" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/topoteretes/cognee.git .skillboard-tmp
git -C .skillboard-tmp checkout 690c0ec023719a2a277dc893cdecfec1ca8012cc
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/.claude/skills/cognee-cli" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/cognee-cli
Scanner static-checks@0.1.0 · commit 690c0ec02371. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References credentials, tokens or secret files that a skill should not need.
Evidence: [redacted]· fingerprint ccae6d912a41bfef
Instructs shell/process/package operations that run commands on the host.
Evidence: pip install· fingerprint 7944ec554efca445