Skip to content

.NET: Align tool names for built in providers between c# and python #6398

Closed

Description

@westey-m

Having the same tool names simplifies building UX, since it means we can use a common set of names when formatting tool output. This is especially important when using e.g. a dotnet console with a python service or vice versa.

  • BackgroundAgents
  • FileMemory
  • FileAccess

Activity

  1. added
    .NETUsage: [Issues, PRs], Target: .Net
    pythonUsage: [Issues, PRs], Target: Python
    on Jun 8, 2026
  2. changed the title [-]Align tool names for built in providers between c# and python[/-] [+]Python: Align tool names for built in providers between c# and python[/+] on Jun 8, 2026
  3. changed the title [-]Python: Align tool names for built in providers between c# and python[/-] [+].NET: Align tool names for built in providers between c# and python[/+] on Jun 8, 2026
  4. cschanhniem commented on Jun 18, 2026

    @cschanhniem

    Tool name alignment between C# and Python is more than a UX concern — its a governance boundary. When agents running in different runtimes (a .NET orchestrator dispatching to a Python tool server, or vice versa) use different names for the same function, the orchestrator cant enforce consistent tool-use policies.

    Two patterns worth building into this alignment:

    1. Canonical tool names as capability identifiers: If FileAccess is the canonical name for file operations, then policy rules (e.g., "agent-reviewer may use FileAccess but not ShellCommand") become portable across runtimes. The tool name becomes the policy key, and the runtime-specific mapping is an implementation detail.

    2. Tool schema versioning: As tool signatures evolve, having a shared naming convention makes it possible to detect "stale agent" scenarios — an agent compiled against FileAccess.v1 shouldnt silently invoke FileAccess.v2 which may have different security properties.

    This aligns directly with what were building in AGENTOWNERS (https://github.com/cschanhniem/AGENTOWNERS) — a CODEOWNERS-style policy file where maintainers define per-agent tool access rules. Canonical tool names make those policy rules runtime-agnostic, so the same AGENTOWNERS.yml works whether the host is .NET or Python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

.NETUsage: [Issues, PRs], Target: .NetpythonUsage: [Issues, PRs], Target: Python

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions