All verification guides
Microsoft CopilotCode Suggestions

How to verify Microsoft Copilot code suggestions

Copilot's wrong parameter names often fail silently — no error, just unexpected behavior. Here's how to verify before they reach production.

Why Microsoft Copilot produces these errors

Copilot (powered by OpenAI models) has comprehensive knowledge of major library APIs but is trained on historical code. Libraries change parameter names in major versions, add deprecation warnings that are later removed, and vary parameter names across language clients for the same service. Copilot resolves version ambiguity by generating what was most common in its training data — which may be a previous version's API.

Impact if not caught

A wrong parameter name that fails silently is one of the hardest categories of bug to trace. The code appears to run correctly, but the configuration you believed was set wasn't applied. This pattern is common in database connection parameters, authentication configuration, and timeout settings.

Live example — what this looks like

The example below is an illustrative recreation of the type of error this AI commonly produces — not a transcript of an actual AI session.

Microsoft Copilot
You

How do I connect to PostgreSQL with asyncpg in Python?

Microsoft Copilot

To connect using asyncpg: `conn = await asyncpg.connect(host='localhost', port=5432, user='admin', password='secret', db='myapp')`. The returned connection object supports all standard PostgreSQL operations including transactions, prepared statements, and type codecs.

Verol detected a problem

Wrong parameter name: asyncpg.connect() uses `database` not `db`. Passing `db='myapp'` is silently ignored — asyncpg connects to the default database (matching the username) instead of 'myapp', producing a confusing runtime error or incorrect behavior.

Verol highlights the specific claim and shows you what's wrong — automatically, before you finish reading.

How to verify code suggestions manually

1
Check the asyncpg documentation for connect() signature

The asyncpg connect() signature is at magicstack.github.io/asyncpg/current/api/index.html#connection. The parameter name is `database`, not `db`. Always verify parameter names in official docs.

2
Print the connection's current database after connecting

After connecting, run `await conn.fetchval('SELECT current_database()')`. If the result is not 'myapp', the `database` parameter wasn't applied correctly.

3
Check GitHub changelogs for parameter renames

Search the library's GitHub releases for 'rename' or 'parameter' in the changelog. This is where parameter name changes are documented.

Or skip the manual steps — Verol does this automatically

Verol works in your browser alongside Microsoft Copilot. It extracts every verifiable claim in the response and checks each one against primary sources in real time — before you finish reading. No extra steps, no copy-pasting.

Try Verol Free →

Free plan available · Works on Microsoft Copilot, plus ChatGPT, Claude, Gemini & more

Related guides