CLI user guide
This guide describes how to configure and use the OpenRelik command-line interface (CLI) to manage files, folders, and run forensic workflows.
Installation
Section titled “Installation”Install using Homebrew:
brew tap openrelik/openrelik-clibrew install openrelik-cliDownload the binary from GitHub: https://github.com/openrelik/openrelik-cli/releases
Global Flags
Section titled “Global Flags”These flags modify output behavior for all commands:
--format: Set output styling tohuman,json, orverbose.--quiet,-q: Suppress all output.
Authentication (auth)
Section titled “Authentication (auth)”Configure credentials and active server connections. The CLI prioritizes OPENRELIK_SERVER_URL and OPENRELIK_API_KEY environment variables over local configuration settings.
auth login: Prompt for server URL and API key, saving them to~/.openrelik/config.json.auth status: Show connection status and the active server.auth list: List all configured servers.auth switch: Change the active server.
Examples
Section titled “Examples”# Start interactive loginopenrelik auth login
# Run commands without storing credentials locallyexport OPENRELIK_SERVER_URL=http://localhost:8710export OPENRELIK_API_KEY=your-api-keyUser Profiles (user)
Section titled “User Profiles (user)”Inspect user account details.
user me: Show metadata for the currently authenticated user profile.
Example
Section titled “Example”openrelik user me --format jsonFolder Management (folder)
Section titled “Folder Management (folder)”Organize files in hierarchical directories.
folder list [PARENT_ID]: List root folders. If you provide a parent ID, list subfolders inside that parent.folder create <NAME>: Create a new folder. Use--parent <ID>to create a subfolder.folder mirror <DIR>: Recreate a local directory structure on the server.
Examples
Section titled “Examples”# Create a root folderopenrelik folder create "Investigation 2026"
# Create a subfolder under folder ID 12openrelik folder create "Evidence" --parent 12File Management (file)
Section titled “File Management (file)”Upload, download, and inspect forensic files.
file list <FOLDER_ID>: List all files in the specified folder.file info <FILE_ID>: Return file metadata including size, hashes, and MIME type.file upload <LOCAL_PATH>: Upload a local file. Use--folder <ID>to choose the target folder.file download <FILE_ID>: Download a file. Use--output-dirto choose the destination.
Examples
Section titled “Examples”# Upload a disk image to folder 42openrelik file upload /path/to/image.dd --folder 42
# Download file 105 to a custom directoryopenrelik file download 105 --output-dir /tmp/downloadsWorker Management (worker)
Section titled “Worker Management (worker)”Inspect processing workers.
worker list: List registered workers and update the local cache at~/.openrelik/workers_cache.json.
Example
Section titled “Example”openrelik worker listTemplates and Workflows (template, workflow)
Section titled “Templates and Workflows (template, workflow)”Manage and execute forensic pipelines.
template list: List available workflow templates.workflow create: Create a workflow. Requires--file <ID>and--template <ID>. Use--runto execute immediately.workflow info <ID>: Display workflow structure and configuration.workflow status <ID>: Show current execution status.workflow run <ID>: Start a created workflow.
Example
Section titled “Example”# Create and start a workflow from file 10 using template 5openrelik workflow create --file 10 --template 5 --runDynamic Worker Execution (run)
Section titled “Dynamic Worker Execution (run)”Run workers on files. The CLI reads the local worker cache to generate subcommands dynamically. Inputs can be server-side file IDs or local paths, which the CLI uploads automatically before running the worker.
run <worker_name> <input>: Run a specific worker on an input.- Use
--thento chain workers sequentially (passing output from one to the next). - Use
--andto run workers in parallel. - Use
--dry-runto output the generated JSON workflow specification without executing it.
Examples
Section titled “Examples”# Run the strings worker on file 100openrelik run strings 100
# Run strings on a local file (uploads automatically)openrelik run strings suspicious.exe
# Chain strings to grepopenrelik run strings --then grep --regex "password" 100
# Preview the generated workflow JSON spec without runningopenrelik run strings --then grep --regex "password" 100 --dry-runAI Agent Skill Integration (skill)
Section titled “AI Agent Skill Integration (skill)”Install specification files for AI assistants.
skill install [dir]: Query registered workers dynamically from the active OpenRelik server and generate a customizedSKILL.mdfile. This tailors the skill capabilities directly to your server’s available workers so AI agents can discover and run them.- Use
--harnessto target frameworks (generic,codex,gemini,claude,opencode,pi,copilot). - Use
--localto install the skill in the current project directory.
Examples
Section titled “Examples”# Install the skill to the default global directory for Gemini (~/.gemini/skills/openrelik/SKILL.md)openrelik skill install --harness gemini
# Install the skill locally in the current folder structureopenrelik skill install --local --harness generic