Capture your terminal sessions as video-like recordings that can be replayed, shared, and embedded anywhere.
What is Session Recording?
Rexec can record your terminal sessions in real-time, capturing every command, output, and timing. Recordings are stored in standard asciinema format and can be:- Replayed in the browser
- Downloaded as
.castfiles - Shared via public links
- Embedded in documentation
Key Features
High Fidelity
Records exact terminal output with timing information for accurate playback.
Lightweight
Text-based format, not screen recording. Tiny file sizes (~10KB per minute).
Shareable
Generate public links or embed in docs/blog posts.
Searchable
Text content is searchable — find specific commands in recordings.
Starting a Recording
From the Web UI
- Open any terminal session
- Click the Record button (🔴) in the terminal header
- Optional: Set a title for the recording
- Click “Start Recording”
- Terminal output is now being captured
Recording captures all terminal output, including colors, formatting, and timing information.
Automatic Recording
Enable auto-recording for terminals:- Go to Settings → Recording
- Enable “Auto-record new sessions”
- Choose auto-record duration limit (e.g., 2 hours)
- All new terminals start recording automatically
Stopping a Recording
- Click the Stop Recording button (⏹️)
- Recording is saved automatically
- Appears in Recordings library
Recording Limits
| Tier | Max Duration | Storage | Concurrent Recordings |
|---|---|---|---|
| Free | 1 hour | 1GB total | 1 active |
| Pro | 4 hours | 10GB total | 5 active |
| Enterprise | Unlimited | Custom | Unlimited |
Viewing Recordings
Recordings Library
Access all your recordings:- Go to Recordings in the sidebar
- See list of all recordings with:
- Title
- Duration
- Date recorded
- File size
- Click any recording to play
Playback Controls
Player features:
- ▶️ Play/Pause
- ⏩ Speed control (0.5x, 1x, 1.5x, 2x, 3x)
- ⏭️ Skip idle time (auto-skip pauses >2 seconds)
- 🔍 Full-text search
- 📋 Copy commands from transcript
- ⬇️ Download as
.castfile
Playback Example
Sharing Recordings
Public Links
Share recordings with anyone:- Open recording in player
- Click “Share”
- Toggle “Make Public”
- Copy share link:
https://rexec.io/r/abc123... - Send link to anyone
Public recordings are viewable without login. Perfect for documentation and tutorials.
Embedding
Embed recordings in web pages:Privacy Settings
- Private (Default)
- Public
- Only you can view
- Requires login
- Not listed publicly
Storage Options
Rexec supports multiple storage backends:Database Storage (Default)
Recordings stored in PostgreSQL:S3-Compatible Storage
- Amazon S3
- Cloudflare R2
- MinIO (Self-Hosted)
Cloudflare R2 is recommended for high-volume deployments (zero egress fees, global CDN).
File Format
Recordings use asciinema format v2 (industry standard):Format Specification
Each event line:- time: Seconds since recording start (float)
- type:
"o"(output),"i"(input),"r"(resize) - data: Terminal data (text with ANSI codes)
Compatibility
Asciinema format works with:- asciinema.org - Official hosting
- asciinema-player - Web player
- asciinema CLI - Command-line player
- Most terminal emulators
Managing Recordings
Editing Metadata
Update recording details:- Open recording
- Click Settings (⚙️)
- Edit:
- Title
- Description
- Privacy (public/private)
- Click Save
Downloading
Download recordings as.cast files:
Deleting
- Go to Recordings
- Select recording to delete
- Click Delete (🗑️)
- Confirm deletion
Advanced Features
Trimming & Editing
Edit.cast files manually to trim or modify recordings:
Idle Time Compression
Speed up long pauses automatically:Converting to GIF/Video
Convert recordings to animated GIFs or MP4:Recording Collaboration Sessions
When recording a collaboration session:- All participants’ input is captured
- Multi-user activity shown during playback
- Cursor colors preserved in recording
Enable recording before starting collaboration for full multi-user capture.
Security & Compliance
Sensitive Data
Recordings may contain:
- Passwords typed in terminal
- API keys in environment variables
- Confidential file contents
- Private repository URLs
- Review recordings before sharing
- Edit out sensitive sections
- Use secret managers, not plaintext
- Keep sensitive recordings private
Data Retention
Configure automatic deletion:Audit Logging
All recording events are logged:- Recording started (user, container, timestamp)
- Recording stopped (duration, size)
- Recording viewed (viewer, timestamp)
- Recording shared (public/private toggle)
- Recording downloaded (user, timestamp)
- Recording deleted (user, timestamp)
Performance Considerations
File Sizes
Typical recording sizes:Recording Overhead
Performance impact:- CPU: Less than 1% overhead
- Memory: Approximately 2MB per active recording
- Network: No impact (local storage)
Recording has negligible impact on terminal responsiveness.
API Integration
Start Recording
Stop Recording
List Recordings
Troubleshooting
Recording not capturing output
Recording not capturing output
Causes:
- Terminal disconnected
- Storage limit reached
- Browser tab backgrounded (web-only)
- Check terminal connection
- Free up storage space
- Keep browser tab active during recording
Playback shows garbled text
Playback shows garbled text
Causes:
- Terminal size mismatch
- Corrupted recording file
- Incompatible ANSI codes
- Adjust player terminal size
- Try downloading and re-uploading
- Use asciinema CLI for validation
Recording file too large
Recording file too large
Causes:
- Long running commands with verbose output
- Build logs or npm install captured
- Compress idle time with
asciinema idle-time-limit - Edit recording to remove noisy sections
- Use
teeto log to file instead of recording
Best Practices
Recording Quality
- Use descriptive titles (“Deploy v1.2.3 to prod”)
- Trim idle time before sharing
- Review content before making public
- Keep recordings under 30 minutes for better UX
Storage Management
- Enable auto-deletion for old recordings
- Use S3/R2 for large volumes (>10GB)
- Delete test recordings regularly
- Compress idle time to reduce size
Sharing
- Review for secrets before sharing
- Use public links sparingly
- Embed in docs for tutorials
- Speed up playback (1.5x-2x) for demos
Use Cases
Documentation
Record CLI tutorials and embed in docs.
Bug Reports
Show exact steps to reproduce issues.
Onboarding
Create training videos for new team members.
Demos
Record product demos and share with prospects.
Compliance
Audit trail for production changes.
Debugging
Share complex debugging sessions with team.
Related Features
Collaboration
Record multi-user sessions
Cloud Terminals
Record cloud terminal sessions
BYOS Agent
Record agent terminal sessions
SSH Access
Record SSH sessions via gateway