The cognee-cli command lets you run Cognee from the terminal so you can add data, build the knowledge graph, and ask questions without opening a Python file. The commands are designed to be short, use friendly defaults, and are safe for people who are just starting out.

Setup

Before using the CLI, you need to configure your API key. The recommended approach is to store it in a .env file:
# Create a .env file in your project root
echo "LLM_API_KEY=your_openai_api_key" > .env
Alternatively, you can export it in your terminal session:
export LLM_API_KEY=your_openai_api_key
Use the cognee-cli config set command only for temporary tweaks during a long-running session. For persistent configuration, use .env files or environment variables.

Quick Tour of Commands

  • cognee-cli add <data> loads documents or text into a dataset
  • cognee-cli cognify turns datasets into a knowledge graph
  • cognee-cli search "question" asks the graph for answers
  • cognee-cli delete removes stored data when you no longer need it
  • cognee-cli config reads and updates saved settings
  • cognee-cli -ui launches the local web app
Add --help after any command (for example, cognee-cli search --help) to see every option.

Add Data

Start by loading something the graph can learn from. You can add files, folders, URLs, or even plain text.
# Add a single file to the default dataset
cognee-cli add docs/company-handbook.pdf

# Pick a dataset name so you can separate topics later
cognee-cli add docs/policies.docx --dataset-name onboarding

# Add multiple files at once
cognee-cli add docs/policies.docx docs/faq.md --dataset-name onboarding

# Add a short text note (wrap the note in quotes)
cognee-cli add "Kickoff call notes: customer wants faster onboarding" --dataset-name sales_calls
  • data: One or more file paths, URLs, or text strings. Mix and match as needed
  • --dataset-name (-d): Defaults to main_dataset. Use clear names so the team remembers what each dataset holds

Cognify Data

Cognify builds the knowledge graph. Run it whenever you add new data or change the ontology.
# Process every dataset
cognee-cli cognify

# Process specific datasets only
cognee-cli cognify --datasets onboarding sales_calls

# Increase chunk size and show more logs
cognee-cli cognify --datasets onboarding --chunk-size 1500 --chunker TextChunker --verbose

# Kick off a long job and return immediately
cognee-cli cognify --datasets onboarding --background
  • --datasets (-d): Space-separated list. Skip it to process everything
  • --chunk-size: Token limit for each chunk. Leave blank to let Cognee choose
  • --chunker: TextChunker (default) or LangchainChunker if installed
  • --background (-b): Handy for large datasets; the CLI exits while the job keeps running
  • --verbose (-v): Prints progress messages
  • --ontology-file: Path to a custom ontology (.owl, .rdf, etc.)

Search the Graph

Once cognify finishes, you can question the graph. Start with a simple natural-language question, then experiment with search types.
# Default search (GRAPH_COMPLETION)
cognee-cli search "Who owns the rollout plan?"

# Limit the scope to one dataset
cognee-cli search "What is the onboarding timeline?" --datasets onboarding

# Return three answers at most
cognee-cli search "List the key risks" --top-k 3

# Save a JSON response for another tool
cognee-cli search "Which documents mention security?" --output-format json
Try these quick examples to feel the differences:
# Conversational answer with reasoning (default)
cognee-cli search "Give me a summary of onboarding" --query-type GRAPH_COMPLETION

# Shorter answer based on chunks
cognee-cli search "Show the onboarding steps" --query-type RAG_COMPLETION

# Highlight relationships and insights
cognee-cli search "How do onboarding tasks connect?" --query-type INSIGHTS

# Raw text passages you can copy
cognee-cli search "Find security requirements" --query-type CHUNKS --top-k 5

# Summaries only (great for reviews)
cognee-cli search "Summarise the onboarding handbooks" --query-type SUMMARIES

# Code-aware search for repos
cognee-cli search "Where is the email parser?" --query-type CODE

# Advanced graph query (requires Cypher skills)
cognee-cli search "MATCH (n) RETURN COUNT(n)" --query-type CYPHER
  • --query-type: Choose from GRAPH_COMPLETION, RAG_COMPLETION, INSIGHTS, CHUNKS, SUMMARIES, CODE, or CYPHER
  • --datasets: Limit search to specific datasets
  • --top-k: Maximum number of results to return
  • --system-prompt: Point to a custom prompt file for LLM-backed modes
  • --output-format (-f): pretty (friendly layout), simple (minimal text), or json (structured output for scripts)

Delete Data

Clean up when a dataset is outdated or when you reset the environment.
# Remove one dataset (asks for confirmation)
cognee-cli delete --dataset-name onboarding

# Remove everything for a specific user
cognee-cli delete --user-id 123e4567

# Wipe all data (add --force to skip the question)
cognee-cli delete --all --force
  • --dataset-name: Remove a specific dataset
  • --user-id: Remove all data for a specific user
  • --all: Remove all data (use with caution)
  • --force: Skip confirmation prompts

Manage Configuration

The CLI stores its settings so you do not have to repeat them. Configuration updates line up with the Python API.
# See the list of supported keys
cognee-cli config list

# Check one value (if implemented)
cognee-cli config get llm_model

# Update your LLM provider and model
cognee-cli config set llm_provider openai
cognee-cli config set llm_model gpt-4o-mini

# Store an API key (quotes are optional)
cognee-cli config set llm_api_key sk-yourkey

# Reset a key back to its default value
cognee-cli config unset chunk_size
  • list: Print the common keys
  • get [key]: Show the saved value; omit the key to list everything
  • set <key> <value>: Save a new value. JSON strings such as {} or true are parsed automatically
  • unset <key>: Reset to the default. Add --force to skip confirmation
  • reset: Placeholder for a future “reset everything” command
  • Language model: llm_provider, llm_model, llm_api_key, llm_endpoint
  • Storage: graph_database_provider, vector_db_provider, vector_db_url, vector_db_key
  • Chunking: chunk_size, chunk_overlap

Launch the UI

Prefer a browser view? Launch the UI with one flag.
cognee-cli -ui
The CLI starts the backend on http://localhost:8000 and the React app on http://localhost:3000. Leave the window open and press Ctrl+C to stop everything.

Next Steps