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.
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 sessiondelete_exercise— remove an exercise from today's sessionswap_exercise— replace one exercise with a substituteapply_swap— confirm a previously suggested swapreorder_exercises— change the order of exercises in the sessioncustomize_exercise— tune sets, reps, tempo, rest, techniqueapply_superset— pair two exercises as a supersetadd_warmup_block— insert a progressive warmup before a heavy liftskip_exercise— skip an exercise in the current session
Session control
override_today_session— replace today's session with a different typereset_cycle_day— reset the position within the current cyclemodify_split_cycle— modify the structure of the running cycleswap_days— swap two days in the cycle orderarchive_workout— archive a completed or abandoned workoutreplace_standalone_workout— swap out a one-off session
Data retrieval
get_user_profile— age, experience, goals, unitsget_active_split— current split plan and cycle positionget_recent_workouts— last N completed workoutsget_workout_for_day— today's or a specific day's sessionget_workout_by_id— fetch a specific workout by identifierget_workout_stats— aggregate stats over a periodget_workout_progress— progress within the active workoutget_active_insights— injury and pattern insights currently flaggedget_personal_records— PRs per exerciseget_exercise_progress— progress curve for a named exerciseget_performance_overview— strength and volume overviewget_exercise_video— tutorial video for a movementget_volume_by_muscle— working-set volume per muscle groupget_coach_info— summary of the current AI coach personaget_coach_notes— coach-written notes on your trainingget_own_coach_profile— your personalized coach profileget_approach_details— details of the active training approachget_approach_history— past approaches you've trained onget_body_progress— body metrics over timeget_cycle_history— past training cyclesget_caloric_history— caloric phase history (bulk/cut/maintain)get_ai_memory— saved memories the AI uses as hard constraintsget_favorite_tips— tips you've savedget_fitness_summary— high-level fitness overviewget_cardio_activities— logged cardio activitiesget_sleep_data— recent sleep data (HealthKit/Google Fit)get_health_metrics— HRV, resting HR, weight trendget_exercise_notes— notes saved against exercisesget_onboarding_progress— onboarding state for the userget_subscription_status— current plan, limits, renewalget_generation_status— status of a workout/split generation jobget_booking_info— upcoming trainer or gym bookingsget_my_crews— Gym Crews the user is inget_crew_detail— one crew's membership and metadataget_crew_activity— activity feed for a specific crewsearch_workout_history— full-text search across history
Cardio
log_cardio_activity— log a completed cardio sessioncreate_standalone_workout— generate a one-off workout (includes cardio)
Equipment
update_equipment— update the primary equipment listcreate_custom_equipment— add equipment the app doesn't knowupdate_custom_equipment— edit a custom equipment entryidentify_equipment— identify equipment from a photo
History import
import_workout_history— parse Hevy/Strong CSV and mergeimport_split_from_document— parse a split plan from a document
Split management
generate_split_plan— generate a new split via SplitPlannercreate_custom_split— define every day of a custom splitapply_template— apply a saved split templatelist_templates— list saved templatessave_workout_as_template— save a session as a reusable templatedelete_template— delete a saved templatechange_approach— switch the active training approachgenerate_workout— regenerate today's workout
Logging & profile
log_set— log a single set (weight, reps, RIR)start_workout— start the active workout sessioncomplete_workout— mark the session completeupdate_exercise_note— attach a note to an exercisedelete_exercise_note— remove a noteupdate_body_metrics— update weight, height, body measurementsupdate_caloric_phase— update bulk/cut/maintain phaseupdate_weak_points— update weak-point focus targetsupdate_preferred_language— change chat/UI languageupdate_weight_unit— switch between kg and lbsreport_physical_issue— log an injury or physical issuesave_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.