Skip to contents

Conversation

Stateful conversation and pipe-friendly verbs.

hal()
Chat with GitHub Copilot
hal_ask()
Ask Copilot a Question – Pipe and Standalone Modes
hal_do()
Code Generation via LLM – Pipe and Standalone Modes
hal_history()
View Conversation History
hal_plan()
Locate the current session's plan.md
hal_reset()
Reset the hal session
hal_usage()
Session usage summary
hal_quota()
Claude 5-hour window quota status

Spreadsheets

Translate Excel formula columns into verified tidyverse R.

hal_excel() print(<hal_excel_code>)
Turn an Excel sheet into R: code that reads the data and recreates the formulas

Configuration

Session settings and governance controls.

hal_configure()
Configure hal Options
hal_config()
Get Current hal Configuration

Custom Tools

Build and register LLM-callable tools from R functions.

hal_tool()
Create a Tool Definition from an R Function
hal_tools()
List Registered Tools
hal_register_tool()
Register an R Function as a Copilot Tool
hal_register_tools()
Register Multiple Tools on the Active Session
hal_register_tool_specs()
Register Tool Specs
hal_register_package_tools()
Register Functions from an R Package as Tools

Chat Interface

High-level R6 API for conversing with Copilot models.

hal_chat()
Create a Copilot chat session
HalChat
GitHub Copilot Chat Session

Low-Level Client

Direct ACP transport for advanced use cases.

hal_client()
Create a Copilot ACP client
HalClient
GitHub Copilot SDK Client

Setup & Discovery

Install, configure, and check prerequisites.

hal_setup()
Set up hal for your environment
hal_status()
Diagnose your hal installation in one call
hal_available()
Check whether the active backend's transport is ready
hal_models()
List available models
hal_model_info()
Inspect a single model in detail
hal_install_bridge()
Install the hal-bridge Positron extension
hal_bridge_status()
Check whether hal-bridge is installed and running

Data Objects

S3 classes for responses, turns, and tool calls.

print(<hal_response>)
hal prompt response
print(<hal_turn>)
hal conversation turn
format(<hal_tool_call>) print(<hal_tool_call>)
hal tool call