LinuxCommandLibrary

cobib

Console-based bibliography manager

TLDR

Start the TUI
$ cobib
copy
Initialize a new database with git tracking
$ cobib init --git
copy
Add an entry from a DOI
$ cobib add --doi [10.1234/example]
copy
Add an entry from an arXiv ID
$ cobib add --arxiv [1701.08213]
copy
Import entries from a BibTeX file
$ cobib import --bibtex [references.bib]
copy
List entries sorted by year
$ cobib list --sort year --reverse --limit 20
copy
Search case-insensitively with a filter
$ cobib search --ignore-case "[quantum]" -- ++year [2024]
copy
Export to BibTeX
$ cobib export --bibtex [output.bib]
copy

SYNOPSIS

cobib [-c CONFIG] [-v] [COMMAND] [ARGS...]

DESCRIPTION

cobib (Console Bibliography) is a bibliography management tool that stores references in a plain-text YAML database. It provides both a command-line interface and a TUI built on the Textual framework. The tool supports importing references from arXiv, DOI, ISBN, BibTeX, URL, and YAML sources, and can automatically download PDFs. The database can be tracked with git for version control, enabling undo/redo operations. Search supports regex, fuzzy matching, LaTeX and Unicode decoding, and full-text PDF search via ripgrep-all. A plugin system allows custom commands, importers, exporters, and parsers.

PARAMETERS

-c, --config CONFIG

Path to configuration file.
-v, --verbose
Increase verbosity.

CONFIGURATION

Configuration stored at ~/.config/cobib/config.py (Python file). Can be overridden with -c flag or COBIB_CONFIG environment variable. Generate an example config with cobib _example_config.

SUBCOMMANDS

init [--git]

Initialize the database. Use --git to enable git tracking.
add [--doi|--arxiv|--isbn|--bibtex|--url|--yaml SOURCE] [-l LABEL] [-f FILE]
Add a new bibliography entry from various sources.
list [-s FIELD] [-r] [-l N] [-i] [-z N] [FILTER...]
List and filter database entries. Filters use ++FIELD VALUE to include or --FIELD VALUE to exclude.
search [-c N] [--skip-files] QUERY [-- FILTER...]
Search through entries with regex patterns.
show LABEL
Display a single entry in BibTeX format.
edit LABEL
Edit an entry in your editor.
delete [-y] LABEL...
Remove entries. Use -y to skip confirmation.
open LABEL
Open associated files for an entry.
export --bibtex|--zip [-- FILTER...]
Export entries to BibTeX or ZIP archive.
import --bibtex FILE
Bulk import entries from a BibTeX file.
review [FILTER...]
Interactive review workflow for entries.
note LABEL
Open/edit notes for an entry.
undo / redo
Undo/redo database changes (requires git integration).
git [ARGS...]
Pass-through to git for the database repository.
lint
Validate and check database entries.

CAVEATS

Requires Python 3.10 or later. Windows support is experimental; WSL is recommended. Fuzzy matching requires the optional regex dependency. Full-text PDF search requires ripgrep-all (rga). The undo/redo commands require git integration to be enabled.

HISTORY

cobib was created by Max Rossmannek in June 2019 as an easy-to-use alternative to reference managers like Mendeley or Zotero. Written in Python under the MIT license. Version 4.0 introduced a TUI built on Textual. The latest version is 6.0.1 (October 2025), with over 1,420 commits and 66 releases.

SEE ALSO

bibtex(1), papis(1), zotero(1)

> TERMINAL_GEAR

Curated for the Linux community

Copied to clipboard