Bambu CLI
SkillFiles & storageOperate and troubleshoot BambuLab printers with the bambu-cli (status/watch, print start/pause/resume/stop, files, camera, gcode, AMS, calibration, motion, fans, light, config, doctor). Use when a user asks to control or monitor a BambuLab printer, set up profiles or access codes, or translate a task into safe bambu-cli commands with correct flags, output format, and confirmations.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Bambu CLI skill
What this skill tells your AI
The instructions your AI receives, as published by sundial-org/awesome-openclaw-skills in skills/bambu-cli/SKILL.md and read by ahel’s review.
Overview
Use bambu-cli to configure, monitor, and control BambuLab printers over MQTT/FTPS/camera, producing exact commands and safe defaults.
Defaults and safety
- Confirm the target printer (profile or IP/serial) and resolve precedence: flags > env > project config > user config.
- Avoid access codes in flags; use
--access-code-fileor--access-code-stdinonly. - Require confirmation for destructive actions (stop print, delete files, gcode send, calibrate, reboot); use
--force/--confirmonly when the user explicitly agrees. - Offer
--dry-runwhen supported to preview actions. - Choose output format: human by default,
--jsonfor structured output,--plainfor key=value output.
Quick start
- Configure a profile:
bambu-cli config set --printer <name> --ip <ip> --serial <serial> --access-code-file <path> --default - Status:
bambu-cli status - Watch:
bambu-cli watch --interval 5 - Start print:
bambu-cli print start <file.3mf|file.gcode> --plate 1 - Pause/resume/stop:
bambu-cli print pause|resume|stop - Camera snapshot:
bambu-cli camera snapshot --out snapshot.jpg
Task guidance
Setup & config
- Use
config set/list/get/removeto manage profiles. - Use env vars to avoid flags in scripts:
BAMBU_PROFILE,BAMBU_IP,BAMBU_SERIAL,BAMBU_ACCESS_CODE_FILE,BAMBU_TIMEOUT,BAMBU_NO_CAMERA,BAMBU_MQTT_PORT,BAMBU_FTP_PORT,BAMBU_CAMERA_PORT. - Note config locations: user
~/.config/bambu/config.json, project./.bambu.json.
Monitoring
- Use
statusfor a one-off snapshot; usewatchfor periodic updates (--interval,--refresh). - Use
--json/--plainfor scripting.
Printing
- Use
print start <file>with.3mfor.gcode. - Use
--plate <n|path>to select a plate number or gcode path inside a 3mf. - Use
--no-uploadonly when the file already exists on the printer; do not use it with.gcodeinput. - Control AMS:
--no-ams,--ams-mapping "0,1",--skip-objects "1,3". - Disable flow calibration with
--flow-calibration=falseif requested.
Files and camera
- Use
files list [--dir <path>],files upload <local> [--as <remote>]. - Use
files download <remote> --out <path|->; use--forceto allow writing binary data to a TTY. - Use
files delete <remote>only with confirmation. - Use
camera snapshot --out <path|->; use--forceto allow stdout to a TTY.
Motion, temps, fans, light
- Use
home,move z --height <0-256>. - Use
temps get|set(--bed,--nozzle,--chamber; require at least one). - Use
fans setwith--part/--aux/--chambervalues0-255or0-1. - Use
light on|off|status.
Gcode and calibration
- Use
gcode send <line...>orgcode send --stdin(confirmation required;--no-checkskips validation). - Avoid combining
--access-code-stdinwithgcode send --stdin; use an access code file instead. - Use
calibratewith--no-bed-level,--no-motor-noise,--no-vibrationwhen requested.
Troubleshooting
- Use
doctorto check TCP connectivity to MQTT/FTPS/camera ports; suggest--no-cameraif the camera port is unreachable. - Assume default ports: MQTT 8883, FTPS 990, camera 6000 unless configured.
Reference
Read references/commands.md for the full command and flag reference.
Signals
- GitHub stars
- 661
- Forks
- 97
- Last commit
- Mar 2026
Advanced
- Catalog kind
- skill
- Gateway key
bambu-cli- Source
- github.com/sundial-org/awesome-openclaw-skills