Overleaf Skill
Manage Overleaf LaTeX projects via the olcli CLI.
Installation
# Homebrew (recommended)
brew tap aloth/tap && brew install olcli
# npm
npm install -g @aloth/olcliAuthentication
Get your session cookie from Overleaf:
- Log into overleaf.com
- Open DevTools (F12) → Application → Cookies
- Copy the value of
overleaf_session2
olcli auth --cookie "YOUR_SESSION_COOKIE"Verify with:
olcli whoamiDebug authentication issues:
olcli checkClear stored credentials:
olcli logoutCommon Workflows
Pull a project to work locally
olcli pull "My Paper"
cd My_Paper/Edit and sync changes
# After editing files locally
olcli push # Upload changes only
olcli sync # Bidirectional sync (pull + push, propagates local deletions)
olcli sync --no-delete # Sync without propagating local deletions to remoteDelete or rename remote files
olcli delete chapters/old.tex # remove a file from the project
olcli rm figures/old.pdf # alias
olcli rename old.tex new.tex # rename a file
olcli mv chapters/draft.tex chapters/intro.tex # aliasInspect ignore rules
olcli ignored # list active patterns (built-ins + .olignore + .olignore.local)
olcli push --show-ignored # see what was filtered on this run
olcli sync --no-ignore # escape hatch: upload everythingCompile and download PDF
olcli pdf # Compile and download
olcli pdf -o paper.pdf # Custom output name
olcli compile # Just compile (no download)Download.bbl for arXiv submission
olcli output bbl # Download compiled .bbl
olcli output bbl -o main.bbl # Custom filename
olcli output --list # List all available outputsUpload figures or assets
olcli upload figure1.png "My Paper" # Upload to project root
olcli upload diagram.pdf # Auto-detect project from .olcli.jsonDownload specific files
olcli download main.tex "My Paper" # Download single file
olcli zip "My Paper" # Download entire project as ziparXiv Submission Workflow
Complete workflow for preparing an arXiv submission:
# 1. Pull your project
olcli pull "Research Paper"
cd Research_Paper
# 2. Compile to ensure everything builds
olcli compile
# 3. Download the .bbl file (arXiv requires .bbl, not .bib)
olcli output bbl -o main.bbl
# 4. Download any other needed outputs
olcli output aux -o main.aux # If needed
# 5. Package for submission
zip arxiv.zip *.tex main.bbl figures/*.pdf
# 6. Verify the package compiles locally (optional)
# Then upload arxiv.zip to arxiv.orgCommands Reference
| Command | Description |
|---|---|
olcli auth --cookie <value> | Authenticate with session cookie |
olcli whoami | Check authentication status |
olcli logout | Clear stored credentials |
olcli check | Show config paths and credential sources |
olcli list | List all projects |
olcli info [project] | Show project details |
olcli pull [project] [dir] | Download project files |
olcli push [dir] | Upload local changes |
olcli sync [dir] | Bidirectional sync |
olcli upload <file> [project] | Upload a single file |
olcli download <file> [project] | Download a single file |
olcli delete <file> [project] | Delete a remote file or folder by path (alias: rm) |
olcli rename <old> <new> [project] | Rename a remote file or folder (alias: mv) |
olcli ignored [dir] | List active ignore patterns |
olcli zip [project] | Download as zip archive |
olcli compile [project] | Trigger compilation |
olcli pdf [project] | Compile and download PDF |
olcli output [type] | Download compile outputs |
Tips
- Auto-detect project: Run commands from a synced directory (contains
.olcli.json) to skip the project argument - Dry run: Use
olcli push --dry-runorolcli sync --dry-runto preview before applying - Force overwrite: Use
olcli pull --forceto overwrite local changes - Two-way deletes:
olcli syncpropagates *local* deletions to the remote; use--no-deleteto opt out per run - Build artifacts:
.aux,.bbl,.log,.synctex.gzetc. are filtered by default. Add custom patterns to a.olignorefile (gitignore-style) - PDF rule:
thesis.pdfnext tothesis.texis auto-ignored; standalonefigures/diagram.pdfis preserved - Project ID: You can use project ID instead of name (24-char hex from URL)
- Debug auth: Run
olcli checkto see where credentials are loaded from