Upgrading to 3.0
Claude Bridge 3.0 cut the tool list from 169 in 2.27 to 69. Most of the difference is families of near-identical tools merged into one tool that takes an action or kind, so nothing you could do before has gone except the items listed at the end. Claude reads the new tool list when it connects, so in conversation you need do nothing. This page is for anything you have written down that names a tool: a saved prompt, a skill, a permission allow-list, a script.
Tools not listed here kept their names and arguments.
Devices
| Old tool | 3.0 |
|---|---|
device_turn_on, device_turn_off | device_control(device, action="on"/"off", delay, duration) |
device_toggle | device_control(device, action="toggle") |
device_set_brightness | device_control(device, action="brightness", value) |
dimmer_brighten_by, dimmer_dim_by | device_control(device, action="brighten"/"dim", value) |
set_color | device_control(device, action="color", color / red, green, blue, white, white_temperature) |
request_status_update, beep_device, ping_device | device_control(device, action="status_request"/"beep"/"ping") |
reset_energy_accumulator | device_control(device, action="reset_energy") |
device_control(name, ...) | device_control(device, ...): device takes an id or a name |
set_heat_setpoint, set_cool_setpoint, increase_/decrease_heat_setpoint, increase_/decrease_cool_setpoint, set_hvac_mode, set_fan_mode | thermostat_control(device, heat_setpoint, cool_setpoint, heat_delta, cool_delta, hvac_mode, fan_mode) |
set_fan_speed, speedcontrol_set_index, speedcontrol_increase, speedcontrol_decrease | speed_control(device, level / index / step) |
sprinkler_run, _stop, _pause, _resume, _next_zone, _previous_zone, _set_zone | sprinkler_control(device, action, zone) |
lock_device, unlock_device | lock_control(device, action="lock"/"unlock", code) |
all_lights_on, all_lights_off, all_devices_off | all_devices(action="lights_on"/"lights_off"/"all_off") |
get_devices_by_type, get_devices_by_state | list_devices(device_type, state_filter) |
duplicate_device | duplicate(kind="device", id, new_name) |
move_device_to_folder | move_to_folder(kind="device", id, folder_id) |
create_device_folder, delete_device_folder | create_folder(kind="device", ...), delete_folder(kind="device", ...) |
device_remove_delayed_actions | remove_delayed_actions(kind="device", id) |
Triggers, schedules and action groups
| Old tool | 3.0 |
|---|---|
get_trigger_details, get_schedule_details, get_action_group_details, get_action_group_by_id | get_automation(kind, id, include_scripts) |
update_trigger, update_schedule, update_action_group | update_automation(kind, id, fields) |
enable_trigger, disable_trigger, enable_schedule, disable_schedule | set_enabled(kind, id, enabled, delay_seconds, duration_seconds) |
delete_trigger, delete_schedule, delete_action_group | delete_automation(kind, id, confirm) |
duplicate_schedule, duplicate_action_group | duplicate(kind, id, new_name) |
move_trigger_to_folder | move_to_folder(kind="trigger", id, folder_id) |
trigger_get_dependencies, schedule_get_dependencies, action_group_get_dependencies | get_dependencies(kind, id) |
dependency_map | find_automation_references |
schedule_remove_delayed_actions, remove_all_delayed_actions | remove_delayed_actions(kind="schedule"/"all", id) |
Variables
| Old tool | 3.0 |
|---|---|
variable_move_to_folder | move_to_folder(kind="variable", id, folder_id) |
create_variable_folder, delete_variable_folder | create_folder(kind="variable", ...), delete_folder(kind="variable", ...) |
Reports, checks and server details
| Old tool | 3.0 |
|---|---|
energy_status, heating_status, security_status, home_status_report | home_status(section="energy"/"heating"/"security"/"report") |
energy_daily_summary, energy_compare | energy_history(days, compare) |
audit_home, find_devices_in_error, find_low_battery, find_stale_devices, audit_variables, find_conflicts, find_orphaned_scripts, find_orphaned_plugin_data, get_deprecated_elements, audit_api_coverage, find_large_files | audit(check="home"/"errors"/"low_battery"/"stale"/"variables"/"conflicts"/"orphaned_scripts"/"orphaned_plugin_data"/"deprecated"/"api_coverage"/"large_files") |
get_indigo_paths, get_web_server_url, get_reflector_url, get_reflector_status, get_latitude_longitude, calculate_sunrise, calculate_sunset | server_info(date_iso) |
list_control_pages, get_control_page | control_pages(page_id) |
Scripts and plugins
| Old tool | 3.0 |
|---|---|
create_script | write_script(name, content, create=true) |
list_script_backups | list_python_scripts(backups_for=name) |
get_plugin_by_id | get_plugin_status(plugin_id) |
plugin_validate_xml, plugin_node_check_html, plugin_lint, plugin_diff_source_vs_installed, plugin_show_packages_versions | plugin_check(plugin_name, checks), all five checks by default |
zwave_send_config_parameter, zwave_start_network_optimize, zwave_stop_network_optimize, zwave_enter_inclusion_mode, zwave_enter_exclusion_mode, zwave_exit_inclusion_exclusion_mode | zwave(action, ...) |
Changed behaviour
execute_indigo_pythonandrun_scriptrun as background jobs. A run that finishes withinwait_seconds(default 5) replies exactly as before. A longer one replies{"status": "running", "job_id": ...}straight away. Call the same tool again with thatjob_idto collect the result. This stops a long run freezing Indigo’s web server, and every dashboard with it, for as long as it takes.
Removed
analyze_historical_data, which needed InfluxDB and an Anthropic API key. Usedevice_history, which reads the SQL Logger.remember,recall,recall_topics,forget. Claude Code keeps its own memory.subscribe,unsubscribe,get_events,list_subscriptions,clear_events. An MCP client cannot be told about a change between messages, so the queue was never read. Outbound webhooks (webhook_createand friends) do that job and are unchanged.energy_log_days,server_speak,scaffold_automation_script.
Claude Bridge no longer needs an Anthropic API key or any extra Python packages. Settings left over from the removed features, including a stored API key or InfluxDB password, are deleted from the plugin’s preferences the first time 3.0 starts.