Freelo CLI is the official tool for controlling Freelo from the command line (terminal). It's written in Go and distributed as a single executable file – it requires no Node.js, Python, or Docker.
It's a good fit for developers, DevOps engineers, and AI agents who need to automate work in Freelo or access it from scripts and pipelines. If you're a regular user looking for a way to connect an AI assistant to Freelo, you're probably looking for Freelo MCP – read the article Freelo MCP – connecting AI assistants to Freelo.
CLI, MCP, or n8n?
Different integration tools serve different purposes. This table will help you pick the right one:
| I need… | Recommendation |
|---|---|
| Shell scripts, CI/CD, cron jobs | Freelo CLI |
| An AI agent in the terminal (Claude Code) | Freelo CLI + embedded skill |
| Claude Desktop, Cline, or another AI chat | Freelo MCP |
| Automation via n8n or Make | Freelo n8n node |
| Interactive work in an AI IDE | Claude Code + CLI or MCP |
Freelo MCP is the easiest path for users who want to connect an AI assistant to Freelo without needing to work in the terminal. Learn more in the article Freelo MCP – connecting AI assistants to Freelo.
Who Freelo CLI is for
Developers and DevOps – who need to automate work in Freelo: bulk task creation, integration with CI/CD pipelines, GitHub Actions, or custom scripts. The CLI is a single binary with no dependencies – just copy it into your pipeline.
AI agents in the terminal – Claude Code and similar tools use the CLI as their primary access to the Freelo API. The CLI includes a built-in skill (embedded skill) that lets an AI agent communicate with Freelo in natural language without explicit knowledge of the commands.
Power users – who prefer the terminal over the web interface and want to perform bulk operations faster than would be possible through the web.
What Freelo CLI can do
Freelo CLI covers roughly 70 API endpoints organized into 24 command groups:
- Managing projects, to-do lists, and tasks
- Comments, attachments, and mentions
- Subtasks and links between tasks
- Time tracking, work reports, and invoices
- Custom fields, labels, and templates
- Notifications and activity logs
Output formats
The CLI offers six output modes tailored to different uses:
| Mode | Flag | Description |
|---|---|---|
| Default | (no flag) | Shows a table in the terminal; returns JSON when piped |
| Agent | --agent |
Plain JSON for AI systems and scripts |
| JSON envelope | --json |
JSON with metadata |
| IDs only | --ids-only |
A single column of IDs for xargs |
| Count | --count |
Number of records |
| Quiet | --quiet |
Minimal output |
Example – passing data into AI processing:
freelo tasks list --agent | jq '.[] | {id, name}'
Example – finishing tasks in bulk:
freelo tasks list --ids-only | xargs -I {} freelo tasks finish {}
Installation
System requirements
- Linux, macOS, or Windows
- A Freelo account with an API key (Profile settings → API section)
- For installation via
go installyou'll also need Go; for building from source, Git
Method 1: Install script (macOS / Linux)
The fastest path – a single command downloads and installs the latest release:
curl -fsSL https://raw.githubusercontent.com/freeloio/freelo-cli/main/install.sh | bash
Verify the installation:
freelo --version
Method 2: go install (macOS / Linux / Windows)
With Go installed:
go install github.com/freeloio/freelo-cli/cmd/freelo@latest
The binary lands in the go env GOBIN directory (default ~/go/bin, or %USERPROFILE%\go\bin on Windows) – make sure it's on your system PATH. On Windows in PowerShell you can add the directory with setx PATH "$env:PATH;$env:USERPROFILE\go\bin".
Method 3: Precompiled binary
On the Releases page on GitHub, download the archive for your system (darwin / linux / windows; for Windows the freelo_windows_amd64.exe file), extract it, and move the freelo binary into a directory on your system PATH. Each release includes a checksums.txt file for integrity verification.
Method 4: Building from source
git clone git@github.com:freeloio/freelo-cli.git
cd freelo-cli
make install
Verify a successful installation with freelo --version.
Authentication
Interactive login (recommended)
freelo auth login
Your credentials are stored securely in the system secrets vault (Keychain on macOS, Windows Credential Manager on Windows, Secret Service on Linux). You can check the login status with:
freelo auth status
Environment variables (for CI/CD and Docker)
In automated environments without interactive input, set your credentials as environment variables:
export FREELO_EMAIL=user@example.com
export FREELO_API_KEY=your-api-key
You'll find your API key in Freelo under Profile settings → API. A detailed guide to API keys is in the article Freelo API and API key.
⚠️ Security: An API key grants full access to your Freelo account. Never store it directly in code or in version control systems. If you suspect it has leaked, generate a new key in your profile settings immediately.
Basic commands
freelo users me # Shows your profile
freelo projects list # Lists all projects
freelo projects show <ID> # Project detail
freelo tasks list --project <ID> # Tasks in a project
freelo tasks list --search "query" # Full-text search
freelo tasks create --project <ID> --tasklist <ID> --name "Task name"
freelo tasks edit <ID> --priority h --due-date 2026-12-31
freelo comments create --task <ID> --content "Comment text"
freelo tasks finish <ID> # Marks the task as finished
freelo --help # Help for all commands
Direct API access
If you need an endpoint that the current CLI version doesn't cover with a standard command, use a direct call via freelo api:
freelo api get /archived-projects --agent
freelo api post /search --data '{"search_query":"query"}' --agent
AI integration
Freelo CLI includes a built-in skill (embedded skill) for AI agents that gives the agent knowledge of the entire Freelo API without needing to know the commands explicitly.
Installing the skill:
freelo skill install claude # Claude Code
freelo skill install codex # OpenAI Codex
freelo skill install opencode # OpenCode
freelo skill install all # All supported agents
After installation, open a new conversation with the AI agent and communicate in natural language:
"Show me active tasks due this week and create a 90-minute work report on the oldest one."
The CLI then calls the right commands in the background and returns the results to the conversation.
Troubleshooting
| Problem | Solution |
|---|---|
command not found: freelo |
Make sure the binary is on your system PATH. Try freelo --version to verify the installation. |
| Authentication error | Check freelo auth status. If using env vars, verify that FREELO_EMAIL and FREELO_API_KEY are correct. |
projects list returns an empty result |
Your account may have no assigned projects, or the API key belongs to a different user. |
The --agent flag doesn't work |
Add --agent to each command separately – it's not a global setting. |
| Error 402 on certain features | Public task links and estimates require a paid plan. |
notes list returns an error |
The endpoint for listing notes is not available in the current API version. |
Where to next
- Freelo MCP – connecting AI assistants to Freelo
- Freelo API and API key
- Freelo API reference documentation