My Tesla
Control Tesla vehicles from macOS via the Tesla Owner API using teslapy (auth, list cars, status, lock/unlock, climate, charging, location, and extras). Use when you want to check your car state or ru
Control Tesla vehicles from macOS via the Tesla Owner API using teslapy (auth, list cars, status, lock/unlock, climate, charging, location, and extras). Use when you want to check your car state or ru
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Author: Parth Maniar — @officialpm
A practical Tesla control skill for Clawdbot built on
teslapy.
TESLA_EMAIL env var set (your Tesla account email)TESLA_EMAIL="you@email.com" python3 {baseDir}/scripts/tesla.py auth
This opens a Tesla login URL. Log in, then paste the callback URL back into the CLI.
~/.tesla_cache.json (local only; best-effort chmod 0600)MY_TESLA_DEFAULT_CAR to a vehicle display name to pick a default car via env varpython3 {baseDir}/scripts/tesla.py default-car "Name" (writes ~/.my_tesla.json; best-effort chmod 0600)# List vehicles python3 {baseDir}/scripts/tesla.py list python3 {baseDir}/scripts/tesla.py list --json # machine-readable, privacy-safeVersion
python3 {baseDir}/scripts/tesla.py version python3 {baseDir}/scripts/tesla.py --version
Debugging
If something fails unexpectedly, add --debug for a full traceback
(or set MY_TESLA_DEBUG=1)
python3 {baseDir}/scripts/tesla.py --debug status --no-wake
Pick a car (optional)
--car accepts: exact name, partial name (substring match), or a 1-based index from
listpython3 {baseDir}/scripts/tesla.py --car "Model" status python3 {baseDir}/scripts/tesla.py --car 1 report
Set a default car (used when --car is not passed)
python3 {baseDir}/scripts/tesla.py default-car "My Model 3"
One-line summary (best for chat)
python3 {baseDir}/scripts/tesla.py summary python3 {baseDir}/scripts/tesla.py summary --no-wake # don't wake a sleeping car
Summary as JSON (privacy-safe)
Unlike
, this emits a small sanitized object (no location).status --jsonIncludes
when the vehicle reports it.usable_level_percentpython3 {baseDir}/scripts/tesla.py summary --json python3 {baseDir}/scripts/tesla.py summary --json --raw-json # raw vehicle_data (may include location)
One-screen report (chat friendly, more detail)
Includes battery/charging/climate + (when available) TPMS tire pressures.
Includes "Usable battery" when the vehicle reports it (helpful for health/degradation).
Also includes a quick openings summary (doors/trunk/frunk/windows) when available.
When available, includes a compact seat heater summary line.
When the vehicle reports it, includes scheduled departure / preconditioning / off-peak charging status.
python3 {baseDir}/scripts/tesla.py report python3 {baseDir}/scripts/tesla.py report --no-wake
Detailed status
python3 {baseDir}/scripts/tesla.py status python3 {baseDir}/scripts/tesla.py status --no-wake python3 {baseDir}/scripts/tesla.py status --summary # include one-line summary + detailed output python3 {baseDir}/scripts/tesla.py --car "My Model 3" status
JSON output (prints ONLY JSON; good for piping/parsing)
NOTE:
outputs rawstatus --json, which may include location/drive_state.vehicle_dataPrefer
(sanitized) orsummary --json(sanitized) unless you explicitly need the raw payload.report --jsonpython3 {baseDir}/scripts/tesla.py summary --json # sanitized summary object (no location) python3 {baseDir}/scripts/tesla.py report --json # sanitized report object (no location; includes scheduled charging + charge port state) python3 {baseDir}/scripts/tesla.py status --json # raw vehicle_data (may include location) python3 {baseDir}/scripts/tesla.py report --json --raw-json # raw vehicle_data (may include location) python3 {baseDir}/scripts/tesla.py summary --json --raw-json # raw vehicle_data (may include location) python3 {baseDir}/scripts/tesla.py charge status --json # includes usable battery + (when charging) power details (kW/V/A)
Lock / unlock
python3 {baseDir}/scripts/tesla.py lock python3 {baseDir}/scripts/tesla.py unlock
Climate (status is read-only)
python3 {baseDir}/scripts/tesla.py climate status python3 {baseDir}/scripts/tesla.py climate status --no-wake python3 {baseDir}/scripts/tesla.py climate on python3 {baseDir}/scripts/tesla.py climate off python3 {baseDir}/scripts/tesla.py climate defrost on python3 {baseDir}/scripts/tesla.py climate defrost off python3 {baseDir}/scripts/tesla.py climate temp 72 # default: °F python3 {baseDir}/scripts/tesla.py climate temp 22 --celsius
Charging
python3 {baseDir}/scripts/tesla.py charge status python3 {baseDir}/scripts/tesla.py charge status --no-wake python3 {baseDir}/scripts/tesla.py charge start --yes python3 {baseDir}/scripts/tesla.py charge stop --yes python3 {baseDir}/scripts/tesla.py charge limit 80 --yes # 50–100 python3 {baseDir}/scripts/tesla.py charge amps 16 --yes # 1–48 (conservative guardrail)
Scheduled charging (set/off are safety gated)
python3 {baseDir}/scripts/tesla.py scheduled-charging status python3 {baseDir}/scripts/tesla.py scheduled-charging status --no-wake python3 {baseDir}/scripts/tesla.py scheduled-charging set 23:30 --yes python3 {baseDir}/scripts/tesla.py scheduled-charging off --yes
Scheduled departure (read-only)
Shows scheduled departure, preconditioning, and off-peak charging flags (when the vehicle reports them).
python3 {baseDir}/scripts/tesla.py scheduled-departure status python3 {baseDir}/scripts/tesla.py scheduled-departure status --no-wake python3 {baseDir}/scripts/tesla.py --json scheduled-departure status
Location (approx by default; use --yes for precise coordinates)
python3 {baseDir}/scripts/tesla.py location python3 {baseDir}/scripts/tesla.py location --no-wake python3 {baseDir}/scripts/tesla.py location --digits 1 # coarser rounding python3 {baseDir}/scripts/tesla.py location --digits 3 # a bit more precise (still approximate) python3 {baseDir}/scripts/tesla.py location --yes
Tire pressures (TPMS)
python3 {baseDir}/scripts/tesla.py tires python3 {baseDir}/scripts/tesla.py tires --no-wake
Openings (doors/trunks/windows)
python3 {baseDir}/scripts/tesla.py openings python3 {baseDir}/scripts/tesla.py openings --no-wake python3 {baseDir}/scripts/tesla.py openings --json
Trunk / frunk (safety gated)
python3 {baseDir}/scripts/tesla.py trunk trunk --yes python3 {baseDir}/scripts/tesla.py trunk frunk --yes
Windows
python3 {baseDir}/scripts/tesla.py windows status python3 {baseDir}/scripts/tesla.py windows status --no-wake python3 {baseDir}/scripts/tesla.py windows status --json
Windows (safety gated)
python3 {baseDir}/scripts/tesla.py windows vent --yes python3 {baseDir}/scripts/tesla.py windows close --yes
Seat heaters
python3 {baseDir}/scripts/tesla.py seats status python3 {baseDir}/scripts/tesla.py seats status --no-wake python3 {baseDir}/scripts/tesla.py seats status --json
Seat heaters (safety gated)
seat: driver|passenger|rear-left|rear-center|rear-right|3rd-left|3rd-right (or 0–6)
level: 0–3 (0=off)
python3 {baseDir}/scripts/tesla.py seats set driver 3 --yes
Sentry Mode (status is read-only; on/off safety gated)
python3 {baseDir}/scripts/tesla.py sentry status python3 {baseDir}/scripts/tesla.py sentry status --no-wake python3 {baseDir}/scripts/tesla.py sentry on --yes python3 {baseDir}/scripts/tesla.py sentry off --yes
Charge port door
python3 {baseDir}/scripts/tesla.py charge-port status python3 {baseDir}/scripts/tesla.py charge-port status --no-wake python3 {baseDir}/scripts/tesla.py charge-port status --json
Mileage tracking (odometer) — local SQLite
python3 {baseDir}/scripts/tesla.py mileage init python3 {baseDir}/scripts/tesla.py mileage record --no-wake --auto-wake-after-hours 24 python3 {baseDir}/scripts/tesla.py mileage status python3 {baseDir}/scripts/tesla.py mileage export --format csv python3 {baseDir}/scripts/tesla.py mileage export --format csv --since-days 7 python3 {baseDir}/scripts/tesla.py mileage export --format json python3 {baseDir}/scripts/tesla.py mileage export --format json --since-ts 1738195200
Charge port door open/close (safety gated)
python3 {baseDir}/scripts/tesla.py charge-port open --yes python3 {baseDir}/scripts/tesla.py charge-port close --yes
Fun / attention-grabbing
python3 {baseDir}/scripts/tesla.py honk --yes python3 {baseDir}/scripts/tesla.py flash --yes
Some actions require an explicit confirmation flag:
unlock, charge start|stop|limit|amps, trunk, windows, seats set, sentry on|off, honk, flash, charge-port open|close, and scheduled-charging set|off require --yeslocation is approximate by default; add --yes for precise coordinates (or --digits N to control rounding)~/.tesla_cache.json).No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.