3.8k★by jmagar
qbittorrent – OpenClaw Skill
qbittorrent is an OpenClaw Skills integration for coding workflows. Manage torrents with qBittorrent. Use when the user asks to "list torrents", "add torrent", "pause torrent", "resume torrent", "delete torrent", "check download status", "torrent speed", "qBittorrent stats", or mentions qBittorrent/qbit torrent management.
Skill Snapshot
| name | qbittorrent |
| description | Manage torrents with qBittorrent. Use when the user asks to "list torrents", "add torrent", "pause torrent", "resume torrent", "delete torrent", "check download status", "torrent speed", "qBittorrent stats", or mentions qBittorrent/qbit torrent management. OpenClaw Skills integration. |
| owner | jmagar |
| repository | jmagar/qbittorrent |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @jmagar/qbittorrent |
| last updated | Feb 7, 2026 |
Maintainer

name: qbittorrent version: 1.0.0 description: Manage torrents with qBittorrent. Use when the user asks to "list torrents", "add torrent", "pause torrent", "resume torrent", "delete torrent", "check download status", "torrent speed", "qBittorrent stats", or mentions qBittorrent/qbit torrent management.
qBittorrent WebUI API
Manage torrents via qBittorrent's WebUI API (v4.1+).
Setup
Config: ~/.clawdbot/credentials/qbittorrent/config.json
{
"url": "http://localhost:8080",
"username": "admin",
"password": "adminadmin"
}
Quick Reference
List Torrents
# All torrents
./scripts/qbit-api.sh list
# Filter by status
./scripts/qbit-api.sh list --filter downloading
./scripts/qbit-api.sh list --filter seeding
./scripts/qbit-api.sh list --filter paused
# Filter by category
./scripts/qbit-api.sh list --category movies
Filters: all, downloading, seeding, completed, paused, active, inactive, stalled, errored
Get Torrent Info
./scripts/qbit-api.sh info <hash>
./scripts/qbit-api.sh files <hash>
./scripts/qbit-api.sh trackers <hash>
Add Torrent
# By magnet or URL
./scripts/qbit-api.sh add "magnet:?xt=..." --category movies
# By file
./scripts/qbit-api.sh add-file /path/to/file.torrent --paused
Control Torrents
./scripts/qbit-api.sh pause <hash> # or "all"
./scripts/qbit-api.sh resume <hash> # or "all"
./scripts/qbit-api.sh delete <hash> # keep files
./scripts/qbit-api.sh delete <hash> --files # delete files too
./scripts/qbit-api.sh recheck <hash>
Categories & Tags
./scripts/qbit-api.sh categories
./scripts/qbit-api.sh tags
./scripts/qbit-api.sh set-category <hash> movies
./scripts/qbit-api.sh add-tags <hash> "important,archive"
Transfer Info
./scripts/qbit-api.sh transfer # global speed/stats
./scripts/qbit-api.sh speedlimit # current limits
./scripts/qbit-api.sh set-speedlimit --down 5M --up 1M
App Info
./scripts/qbit-api.sh version
./scripts/qbit-api.sh preferences
Response Format
Torrent object includes:
hash,name,state,progressdlspeed,upspeed,etasize,downloaded,uploadedcategory,tags,save_path
States: downloading, stalledDL, uploading, stalledUP, pausedDL, pausedUP, queuedDL, queuedUP, checkingDL, checkingUP, error, missingFiles
qBittorrent Skill
Manage torrents via qBittorrent WebUI from Clawdbot.
What It Does
- List torrents — filter by status, category, or tags
- Add torrents — by magnet link, URL, or local file
- Control downloads — pause, resume, delete, recheck
- Speed limits — set upload/download limits
- Categories & tags — organize your torrents
Setup
1. Enable WebUI
- Open qBittorrent
- Go to Tools → Options → Web UI
- Enable Web User Interface (Remote control)
- Set a username and password
- Note the port (default: 8080)
2. Create Credentials File
mkdir -p ~/.clawdbot/credentials/qbittorrent
cat > ~/.clawdbot/credentials/qbittorrent/config.json << 'EOF'
{
"url": "http://localhost:8080",
"username": "admin",
"password": "your-password-here"
}
EOF
Replace with your actual WebUI credentials.
3. Test It
./skills/qbittorrent/scripts/qbit-api.sh version
Usage Examples
List torrents
# All torrents
qbit-api.sh list
# Filter by status
qbit-api.sh list --filter downloading
qbit-api.sh list --filter seeding
qbit-api.sh list --filter paused
# Filter by category
qbit-api.sh list --category movies
Add torrents
# By magnet link
qbit-api.sh add "magnet:?xt=..." --category movies
# By .torrent file
qbit-api.sh add-file /path/to/file.torrent --paused
Control torrents
qbit-api.sh pause <hash> # or "all"
qbit-api.sh resume <hash> # or "all"
qbit-api.sh delete <hash> # keep files
qbit-api.sh delete <hash> --files # delete files too
Speed limits
qbit-api.sh transfer # view current speeds
qbit-api.sh set-speedlimit --down 5M --up 1M
Categories & tags
qbit-api.sh categories
qbit-api.sh tags
qbit-api.sh set-category <hash> movies
qbit-api.sh add-tags <hash> "important,archive"
Environment Variables (Alternative)
Instead of a config file, you can set:
export QBIT_URL="http://localhost:8080"
export QBIT_USER="admin"
export QBIT_PASS="your-password"
Troubleshooting
"QBIT_URL must be set"
→ Check your config file exists at ~/.clawdbot/credentials/qbittorrent/config.json
Connection refused
→ Make sure WebUI is enabled in qBittorrent settings
403 Forbidden
→ Check username/password, or whitelist your IP in qBittorrent WebUI settings
"Banned" after too many attempts
→ qBittorrent bans IPs after failed logins — wait or restart qBittorrent
License
MIT
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install qbittorrent?
Run openclaw add @jmagar/qbittorrent in your terminal. This installs qbittorrent into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/jmagar/qbittorrent. Review commits and README documentation before installing.
