Troubleshooting¶
Quick solutions to common problems.
Validation Issues¶
"Invalid agent card schema"¶
Problem: Your agent card doesn't match the A2A schema.
Solution:
Run schema-only validation to see specific errors:
Common fixes:
- Add missing required fields (
name,url,skills,capabilities) - Ensure
skillsis an array, not an object - Use valid URL format (include
https://)
"Connection refused" or "Timeout"¶
Problem: Can't reach the agent endpoint.
Solution:
-
Verify the URL is correct:
-
Increase timeout for slow endpoints:
-
Check if endpoint requires authentication
-
Verify firewall/network settings
"--test-live fails but schema is valid"¶
Problem: Static validation passes but live testing fails.
Solution:
-
The agent URL in the card must be reachable:
-
Check if your agent is running:
-
For local development, use
--schema-only:
"Score too low"¶
Problem: Validation passes but score is below threshold.
Solution:
Check what's lowering your score:
Common fixes:
| Issue | Impact | Fix |
|---|---|---|
| Missing description | -10 | Add description field |
| Missing documentation URL | -5 | Add documentationUrl |
| No authentication info | -10 | Add authentication section |
| HTTP URL (not HTTPS) | -15 | Use HTTPS |
| Missing skill descriptions | -5 each | Add description to each skill |
Security Issues¶
"Key not found"¶
Problem: SimpleGuard can't find your private key.
Solution:
-
Check directory structure (SimpleGuard uses convention):
-
Generate keys if missing:
-
Or use dev mode to auto-generate:
-
Or specify a different base directory:
"Signature verification failed"¶
Problem: Incoming request signature doesn't verify.
Solution:
Debug the verification process:
# Extract and decode the JWS header
import base64, json
auth_header = request.headers.get("Authorization", "")
jws_token = auth_header.replace("Bearer ", "")
# Decode header (first part of JWS)
header = jws_token.split('.')[0]
decoded = json.loads(base64.urlsafe_b64decode(header + '=='))
print(decoded)
from capiscio_sdk.simple_guard import SimpleGuard
from capiscio_sdk.errors import VerificationError
import logging
# Enable logging to see detailed errors
logging.basicConfig(level=logging.DEBUG)
guard = SimpleGuard(dev_mode=True)
try:
claims = guard.verify_inbound(jws_token, body=body)
except VerificationError as e:
print(f"Verification failed: {e}")
Common causes:
- Request body was modified after signing
- Key ID (kid) not in trust store
- Clock skew (signature expired)
- Wrong key type (expecting Ed25519, got RSA)
"Invalid JWS format"¶
Problem: The signature header isn't a valid JWS.
Solution:
-
Check the Authorization header format:
-
Ensure you're extracting the token correctly:
-
Verify the sender is signing correctly:
"Key ID not found in trust store"¶
Problem: The kid in the JWS doesn't match any trusted key.
Solution:
-
Get the sender's
kid: -
Add their key with matching filename:
Installation Issues¶
"Command not found: capiscio"¶
Problem: CLI not in PATH after installation.
Solution:
"Module not found: capiscio_sdk"¶
Problem: SDK not installed correctly.
Solution:
# Install the SDK (not the CLI)
pip install capiscio-sdk
# Verify installation
python -c "from capiscio_sdk.simple_guard import SimpleGuard; print('OK')"
Note: capiscio is the CLI, capiscio-sdk is the Python SDK.
"Binary not found" (Go core)¶
Problem: The Go binary isn't accessible.
Solution:
# Verify Go binary exists
which capiscio-core
# Or download directly
curl -L https://github.com/capiscio/capiscio-core/releases/latest/download/capiscio-$(uname -s)-$(uname -m) -o /usr/local/bin/capiscio
chmod +x /usr/local/bin/capiscio
CI/CD Issues¶
"Action fails with permission denied"¶
Problem: GitHub Action can't execute.
Solution:
- uses: capiscio/validate-a2a@v1
with:
path: agent-card.json
# No special permissions needed for basic validation
If accessing private repos:
"Validation passes locally but fails in CI"¶
Problem: Environment differences between local and CI.
Solution:
-
Check network access:
-
Use same CLI version:
- name: Install specific version run: npm install [email protected] -
Set timeout for CI networks:
"PR comment not appearing"¶
Problem: Bot can't comment on PR.
Solution:
Add permissions:
Still Stuck?¶
-
GitHub Issues
Search existing issues or open a new one.
-
Community
Ask the community for help.