60+ chat commands: what you can actually ask your AI coach

A complete reference of the 60+ tool calls the Arvo chat coach supports — grouped by job, with the trick commands most users miss.

Alex Moretti
11 min read
April 2026
FeaturesChatAI

What can I ask the Arvo AI fitness coach in chat?

Arvo's chat supports 60+ tool calls grouped into 8 categories: workout editing, session control, data retrieval, cardio, equipment, history import, split management, and logging. Any modification (swap exercise, add warmup, schedule next cycle start, import a Hevy CSV) happens atomically from a single chat message — no menu diving, no settings pages, no multi-step forms.

TL;DR

  • Arvo's AI coach chat exposes 60+ tool calls (79 as of April 2026) grouped into 8 job-to-be-done categories.
  • Every structural change to your training — swap, add, reorder, warmup, superset, approach change — is available from one chat message, not a menu tree.
  • Data retrieval tools (get_subscription_status, get_generation_status, search_workout_history, get_own_coach_profile) let the chat answer contextual questions without asking you to navigate.
  • Trick commands nobody uses: “make today easier,” “what would you do?”, “check my progress on chest.” They trigger multi-tool flows under the hood.
  • Average cost per chat interaction is under $0.01 via gpt-5-mini routing and OpenAI prefix caching.

Why chat beats menu trees for a training app

The first version of Arvo had a menu tree like every other fitness app. To swap an exercise you tapped the workout, tapped the exercise, tapped “replace,” scrolled through a filtered list, confirmed. Five taps. To add a warmup block you had to go into the exercise detail, open a sub-screen, configure sets, pick percentages, save. Nobody ever used it.

The insight that rewrote the product: in a conversational modality, the distance between intent and action collapses to one message. “Swap bench for incline dumbbell” is a single tap-and-type. The AI resolves which exercise you mean (today's session, the bench press with 4 sets), picks a plausible substitute, validates it against your equipment and approach, and persists the change. What was five taps is now one sentence.

This only works if the chat has real write permissions. A “chatbot” that says “I'd suggest swapping bench for incline dumbbell” and makes you go do it manually is worse than the menu tree—it adds a step without removing one. The Arvo chat uses OpenAI function calling and has direct tool access to every meaningful action in the app.

The rest of this post is the reference. 60+ tools, grouped by what you're actually trying to do.

The 8 categories, one paragraph each

Workout editing. Every structural change to the session in front of you: add an exercise, delete one, swap for a different movement, reorder the sequence, customize sets/reps/tempo, apply a superset between two exercises, or add a warmup block before a heavy compound. These are the tools you reach for mid-workout or the night before.

Session control. Macro-level scheduling decisions: override today's session with a different type (“I need an upper-body session instead of legs today”), reset the cycle day, or schedule when the next cycle should start. These change the shape of your week, not the shape of a single workout.

Data retrieval. The chat answering questions without you navigating. Your profile, active split, workout history, volume per muscle, personal records, generation status, subscription status, coach profile, cycle history. The AI calls these silently when your question needs context (“how am I doing on chest?” triggers get_exercise_progress and get_volume_by_muscle).

Cardio. Log a completed cardio activity (running, cycling, rowing) with duration, distance, and intensity; or generate a cardio session calibrated to your current training block. The cardio tools are intentionally light—Arvo is a strength-first app but treats cardio as first-class.

Equipment. Create custom equipment the AI doesn't know about (a specific cable attachment, an unusual machine), update the list, or identify equipment from a photo. The exercise selector treats your equipment list as a hard constraint, so keeping it accurate is load-bearing for workout generation.

History import. A single tool, import_workout_history, that parses Hevy and Strong CSV exports, deduplicates against existing logs, and writes the history into your Arvo profile. PRs and volume trends become visible immediately.

Split management. Create a fully custom split plan from a description (“4 days, upper-lower, weak-point focus on rear delts”), generate a plan via the SplitPlanner agent, apply a curated template, or list/delete the templates you've saved. This is the category used most at onboarding and approach changes.

Logging. Per-set and per-workout logging: log_set writes individual sets (weight, reps, RPE/RIR), start_workout/complete_workout mark session boundaries, undo_last_set rolls back mistakes. These are fine as a fallback when the native logger UI isn't convenient (e.g., Apple Watch conversation).

The full list: 60+ chat tools grouped by category

What follows is the complete reference. This is the inventory the AI coach picks from; you don't call these names directly—natural language works. But if you've ever wondered “can I ask the chat to do X?”, the answer is in this list.

Workout editing

  • add_exercise — add a new exercise to today's session
  • delete_exercise — remove an exercise from today's session
  • swap_exercise — replace one exercise with a substitute
  • apply_swap — confirm a previously suggested swap
  • reorder_exercises — change the order of exercises in the session
  • customize_exercise — tune sets, reps, tempo, rest, technique
  • apply_superset — pair two exercises as a superset
  • add_warmup_block — insert a progressive warmup before a heavy lift
  • skip_exercise — skip an exercise in the current session

Session control

  • override_today_session — replace today's session with a different type
  • reset_cycle_day — reset the position within the current cycle
  • modify_split_cycle — modify the structure of the running cycle
  • swap_days — swap two days in the cycle order
  • archive_workout — archive a completed or abandoned workout
  • replace_standalone_workout — swap out a one-off session

Data retrieval

  • get_user_profile — age, experience, goals, units
  • get_active_split — current split plan and cycle position
  • get_recent_workouts — last N completed workouts
  • get_workout_for_day — today's or a specific day's session
  • get_workout_by_id — fetch a specific workout by identifier
  • get_workout_stats — aggregate stats over a period
  • get_workout_progress — progress within the active workout
  • get_active_insights — injury and pattern insights currently flagged
  • get_personal_records — PRs per exercise
  • get_exercise_progress — progress curve for a named exercise
  • get_performance_overview — strength and volume overview
  • get_exercise_video — tutorial video for a movement
  • get_volume_by_muscle — working-set volume per muscle group
  • get_coach_info — summary of the current AI coach persona
  • get_coach_notes — coach-written notes on your training
  • get_own_coach_profile — your personalized coach profile
  • get_approach_details — details of the active training approach
  • get_approach_history — past approaches you've trained on
  • get_body_progress — body metrics over time
  • get_cycle_history — past training cycles
  • get_caloric_history — caloric phase history (bulk/cut/maintain)
  • get_ai_memory — saved memories the AI uses as hard constraints
  • get_favorite_tips — tips you've saved
  • get_fitness_summary — high-level fitness overview
  • get_cardio_activities — logged cardio activities
  • get_sleep_data — recent sleep data (HealthKit/Google Fit)
  • get_health_metrics — HRV, resting HR, weight trend
  • get_exercise_notes — notes saved against exercises
  • get_onboarding_progress — onboarding state for the user
  • get_subscription_status — current plan, limits, renewal
  • get_generation_status — status of a workout/split generation job
  • get_booking_info — upcoming trainer or gym bookings
  • get_my_crews — Gym Crews the user is in
  • get_crew_detail — one crew's membership and metadata
  • get_crew_activity — activity feed for a specific crew
  • search_workout_history — full-text search across history

Cardio

  • log_cardio_activity — log a completed cardio session
  • create_standalone_workout — generate a one-off workout (includes cardio)

Equipment

  • update_equipment — update the primary equipment list
  • create_custom_equipment — add equipment the app doesn't know
  • update_custom_equipment — edit a custom equipment entry
  • identify_equipment — identify equipment from a photo

History import

  • import_workout_history — parse Hevy/Strong CSV and merge
  • import_split_from_document — parse a split plan from a document

Split management

  • generate_split_plan — generate a new split via SplitPlanner
  • create_custom_split — define every day of a custom split
  • apply_template — apply a saved split template
  • list_templates — list saved templates
  • save_workout_as_template — save a session as a reusable template
  • delete_template — delete a saved template
  • change_approach — switch the active training approach
  • generate_workout — regenerate today's workout

Logging & profile

  • log_set — log a single set (weight, reps, RIR)
  • start_workout — start the active workout session
  • complete_workout — mark the session complete
  • update_exercise_note — attach a note to an exercise
  • delete_exercise_note — remove a note
  • update_body_metrics — update weight, height, body measurements
  • update_caloric_phase — update bulk/cut/maintain phase
  • update_weak_points — update weak-point focus targets
  • update_preferred_language — change chat/UI language
  • update_weight_unit — switch between kg and lbs
  • report_physical_issue — log an injury or physical issue
  • save_memory, edit_memory, delete_memory — manage AI hard-constraint memories

Total: 79 tools as of April 2026 (the “60+” in the title is the conservative count from when the library first crossed the threshold; the catalogue has been growing every month).

Trick commands most users never try

The long tool list is the inventory; the trick commands are the multi-tool flows that nobody discovers until they stumble on them. A handful worth memorizing:

“what would you do?” — ask mid-session when you're uncertain. The chat pulls get_active_insights, get_workout_progress, and get_health_metrics, then gives a coach-style recommendation (drop a set, cut the session, push through, substitute). This is the tool the AI coach is actually designed for.

“check my progress on chest” (or any muscle or exercise) — triggers get_exercise_progress and get_volume_by_muscle together and synthesizes a progress summary. For a named exercise, it includes PR progression. For a muscle, it includes weekly volume vs. your target.

“make today easier” — the chat reads the current session, identifies the highest-stimulus exercises, and offers specific reductions (drop a set, cut weight 10%, remove the dropset). It doesn't blanket-reduce; it picks the changes with the biggest recovery impact.

“what did I do last time for bench?” — resolves to search_workout_history + get_personal_records and returns the most recent logged sets. Useful when you want to progressively overload without opening a separate screen.

“I'm travelling next week, no equipment” — the chat can temporarily shift your equipment list (via update_equipment), re-select exercises for the affected days, and restore the list when you're back. The whole thing is a conversation, not a preferences page.

“reset my cycle to start on Monday” — uses reset_cycle_day to realign the cycle to the calendar. This is the most-requested thing we used to route through support; it's now a one-message fix.

Cost: under $0.01 per chat interaction

A tool-calling AI coach sounds expensive. In practice, Arvo's average cost per chat interaction (user message → model decides to call a tool → tool runs → model responds) is under $0.01. Two decisions made this possible.

Model routing. The support chat runs on gpt-5-mini by default, which costs roughly 10x less than gpt-5.4 for input/output. gpt-5-mini has specific constraints (no temperature parameter, max_completion_tokens instead of max_tokens) but handles the tool-call pattern fluently once the prompt is structured for it.

Prompt caching. The system prompt is structured static → semi-static → dynamic to maximize OpenAI prefix caching. The static section (tool definitions, output rules, persona) is identical across every chat interaction, so after the first message of the day it comes back at a 75% discount. Combined with the smaller mini model, the per-message cost stays low enough that we can offer meaningful free-tier limits without burning margin.

Try it

The Arvo AI chat coach is available on iOS and Android. A broader tour of features is on the features page. If you're specifically interested in the hypertrophy coach, the hypertrophy coach page goes deeper; cardio has its own home at AI cardio coach. If you want to see the social layer the chat is integrated with, the Gym Crew comparison post covers it. Custom equipment (a common reason to reach for the chat) is at the custom equipment page, and the pricing page is at Arvo pricing.

If you're curious about the AI architecture underneath, the multi-agent periodization engine post explains the 30+ specialized agents the chat coach coordinates with behind the scenes.


Tool inventory verified against lib/agents/support-chat-tools.ts as of April 2026. The tool set evolves—we add tools when a common natural-language request can't currently be executed in one message. If you find a request that should be a single command but isn't, tell us.