Installing the Frametap CLI
The Frametap CLI installs the runner that connects a machine to Frametap. It includes the frametap command-line tool and the frametapd daemon that stays connected and executes jobs.
Using an LLM or coding agent?
Load the Frametap Agent Skill or the raw skill/SKILL.md file so your agent has the current runner, CLI, API, and troubleshooting workflow.
Quick Install
macOS and Linux
bash
curl -fsSL https://cli.static.frametap.io/install | bashDocker Image
bash
docker pull frametap/frametap:latestRead more on Docker Hub: frametap/frametap
First Steps
1. Get an Enrollment Token
- Log in to frametap.io
- Go to Settings → API Keys
- Create or copy a Runner Enrollment Key
- The token looks like:
ft_enrollment_xxxxxxxxxxxxxxxxx
2. Enroll Your Runner
bash
frametap up --token ft_enrollment_xxxxxxxxxxxxxxxxxOptions:
--hostname <name>- Custom runner name (default: OS hostname)--watch <path>- Set up watch folder at enrollment time--yes- Only used with--watch; accepts watch-folder warnings, such as prompts about uploading many existing files
3. Verify Installation
bash
# Check daemon status
frametap status
# List available displays
frametap displaysAfter enrollment, the runner should appear in Runners.
4. Create and Download a Recording
bash
# Create a short recording from the runner machine
frametap recording start --duration 15 --name "Install smoke test"
# List recordings created by this runner
frametap recording list --since 1h
# Download the newest ready recording
mkdir -p /tmp/frametap-artifacts
frametap recording download --latest --path /tmp/frametap-artifactsrecording list and recording download use stored runner credentials, so they do not require a user API key or org ID. See the Recording CLI Workflow for details.
Directory Structure
The runner stores its local state in:
- Linux:
~/.config/frametap/ - macOS:
~/Library/Application Support/frametap/
Key files:
runner.json- Runner registration data (token, runnerId)daemon.sock- Local CLI-to-daemon socketframetapd.log- Daemon log outputwatch-checksums.json- Watch-folder deduplication database
Updating
Re-run the install command:
bash
curl -fsSL https://cli.static.frametap.io/install | bashThe installer will replace the existing binary.
Uninstalling
bash
# Stop the daemon
frametap down
# Or stop and clear runner credentials
frametap logout
# Remove binaries
rm /usr/local/bin/frametap
rm /usr/local/bin/frametapd
# Remove data (optional)
rm -rf ~/.config/frametapTroubleshooting
"Invalid or expired token"
- Check that your enrollment token is correct
- Tokens expire after a certain period; generate a new one in the dashboard
"ffmpeg not found"
- Install ffmpeg:
brew install ffmpeg(macOS) orapt install ffmpeg(Ubuntu) - Or set
FRAMETAP_FFMPEG_PATHto the binary location
"Cannot connect to daemon"
- Check if daemon is running:
frametap status - Start manually:
frametap daemon start - Check logs in
~/.config/frametap/frametapd.log
Permission Denied (watch folder)
- The watch folder path must be absolute
- No symlinks in the path
- User must have read permissions