Common issues and solutions for AskForge CLI, MCP server, LLM providers, and external tools.
LICENSE ERROR: License file 'SchemaSmith License.lic' NOT FOUND.
Searched: ASKFORGE_LICENSE environment variable, tool directory, parent directories, and PATH.
License file not found or invalid.
SchemaSmith License.lic is accessible.ASKFORGE_LICENSE environment variable to the license file path or directory:
set ASKFORGE_LICENSE="C:\path\to\SchemaSmith License.lic"
export ASKFORGE_LICENSE="/path/to/SchemaSmith License.lic"
ask-forge executable.ASKFORGE_LICENSE env var, tool directory, parent directories (walks up to root), PATH directories.Enterprise license EXPIRED on 1/15/2026. Please contact sales@SchemaSmith.com for a new license.
Enterprise or standard license has passed its expiration date plus grace period.
Contact sales@SchemaSmith.com for license renewal.
If the license date has passed but is still within the grace period, AskForge will start but display a warning:
WARNING: License has EXPIRED. Please contact sales@SchemaSmith.com for a new license.
This license is valid for testing purposes ONLY.
DO NOT USE in production environments.
Non-Enterprise license in use.
This is informational, not an error. Non-Enterprise licenses display this warning at startup. Upgrade to an Enterprise license to remove it.
No provider is set as active, or llm.active points to a provider name that does not exist in the llm.providers dictionary.
This message appears when attempting any LLM operation: sending prompts, testing connections, or listing models.
ask-forge show-config{
"llm": {
"active": "your-provider-name",
"providers": {
"your-provider-name": {
"type": "openAI",
"apiKey": "sk-...",
"model": "gpt-4o"
}
}
}
}
set FORGE_LLM_PROVIDER=OpenAI
set FORGE_LLM_API_KEY=sk-...
set FORGE_LLM_MODEL=gpt-4o
export FORGE_LLM_PROVIDER=OpenAI
export FORGE_LLM_API_KEY=sk-...
export FORGE_LLM_MODEL=gpt-4o
FORGE_LLM_PROVIDER is set, it creates an env-override provider entry and sets it as active automatically.
The LlmProviderConfig.Validate() method checks for required fields per provider type. Validation issues are reported per provider in show-config output.
| Provider | Required Fields |
|---|---|
| Ollama | endpoint, model |
| OpenAI | apiKey, model |
| Azure OpenAI | endpoint, apiKey, deployment, model |
| Anthropic | apiKey, model |
| Groq, Gemini, Mistral, DeepSeek, XAi | apiKey, model |
If a provider has validation issues, it will not be initialized even when set as active. Run ask-forge show-config to see validation status for all configured providers, then add the missing required fields.
Invalid API key, wrong endpoint, or network issue.
${ENV_VAR} substitution in apiKey, verify the referenced environment variable is set:
# Config uses: "apiKey": "${ANTHROPIC_API_KEY}"
echo $ANTHROPIC_API_KEY
curl http://localhost:11434/api/tags
ask-forge test-llm-connectionThe type field in the provider config is set to an unrecognized value.
Ollama, OpenAI, AzureOpenAI, Anthropic, Groq, Gemini, Mistral, DeepSeek, XAi, Custom
Provider passed validation but threw an error during construction (e.g., malformed endpoint URL).
Check the provider configuration values. The error message from SwitchProvider includes the exception detail.
Could not find 'schema-tongs' executable.
Please ensure SchemaSmith tools are installed and available in PATH.
Or set the SchemaSmithMSSQLPath environment variable to the install directory.
External SchemaSmith tool (SchemaTongs, SchemaQuench, DataTongs) is not installed or not discoverable.
| Platform | SchemaTongs | SchemaQuench | DataTongs |
|---|---|---|---|
| MSSQL | schema-tongs |
schema-quench |
data-tongs |
| MySQL | mysql-tongs |
mysql-quench |
mysql-data-tongs |
| PostgreSQL | postgres-tongs |
postgres-quench |
postgres-data-tongs |
ask-forge set-tool-path --platform mssql --tool schemaTongs \
--path "/path/to/schema-tongs"
set SchemaSmithMSSQLPath="C:\path\to\install\dir"
set SchemaSmithMySQLPath="C:\path\to\install\dir"
set SchemaSmithPGSQLPath="C:\path\to\install\dir"
export SchemaSmithMSSQLPath="/path/to/install/dir"
export SchemaSmithMySQLPath="/path/to/install/dir"
export SchemaSmithPGSQLPath="/path/to/install/dir"
set FORGE_MSSQL_SCHEMA_TONGS="C:\path\to\schema-tongs"
set FORGE_PGSQL_SCHEMA_QUENCH="C:\path\to\postgres-quench"
export FORGE_MSSQL_SCHEMA_TONGS="/path/to/schema-tongs"
export FORGE_PGSQL_SCHEMA_QUENCH="/path/to/postgres-quench"
~/.dotnet/tools > Program Files > AppData > PATH directories > which/where lookup.
No connection configured for mssql. Use set_connection to add one:
set_connection platform=mssql server=<host> database=<db>
user=<user> password=<pass>
External tool invoked but no saved connection found for the platform.
Save a connection for the platform:
ask-forge set-connection --platform mssql --server localhost \
--database MyDB --user sa --password "..."
The saved connection does not have a database field set, and no --database parameter was provided.
Either update the saved connection to include a database:
ask-forge set-connection --platform mssql --database MyDB
Or pass --database MyDB as a parameter to the external tool.
Operation timed out after 5.0 minutes.
(showing last 50 of 2341 lines)
...
Full output: /path/to/Logs/SchemaTongs - Progress.log
Tool takes longer than the 5-minute default timeout.
This can happen with large databases. The process is killed after timeout. Check the progress log for how far it got:
ask-forge view-log --log_path "/path/to/Logs/SchemaTongs - Progress.log"
Consider extracting a subset of objects using --object_filter to reduce scope.
schema-tongs failed with exit code 1:
(showing last 50 of 120 lines)
...
Full output: /path/to/Logs/SchemaTongs - Progress.log
Connection details invalid, database unreachable, permission issue, or tool-specific error.
sqlcmd, psql, or mysql).ask-forge view-log --log_path "/path/to/Logs/SchemaTongs - Progress.log"
Failed to start process: /path/to/schema-tongs
Or:
Error running /path/to/schema-tongs: <exception detail>
The tool path exists but the executable cannot be launched (permissions, architecture mismatch, missing runtime).
chmod +x /path/to/schema-tongs (macOS/Linux).Server path incorrect, license validation failed, or configuration error.
dotnet ForgeBarrett.Mcp.dll
The MCP server writes diagnostics to stderr. License errors, startup messages, and tool counts all appear there.
MCP Server starting on stdio with N tools registered...This operation requires confirmation.
Tool: forge_apply_change
Tier: Modify (modifies files or creates packages)
Description: ...
To execute this tool, add 'confirm: true' to the arguments.
Modify and External tier tools require explicit confirmation via the confirm parameter.
The MCP client (AI assistant) must include "confirm": true in the tool call arguments for Modify and External tier tools. This is by design -- these tools modify files or invoke external processes.
This is not an error. Tools at Tier 3 (Modify) and Tier 4 (External) append [Requires confirm: true] to their descriptions so AI clients know to pass the confirmation flag.
Invalid JSON in the config file.
When the config file contains invalid JSON, AskForge silently falls back to defaults. It does not crash -- it returns an empty ConfigFileWrapper.
type %USERPROFILE%\.forge\config.json | python -m json.tool
cat ~/.forge/config.json | python3 -m json.tool
del %USERPROFILE%\.forge\config.json
ask-forge show-config
rm ~/.forge/config.json
ask-forge show-config
ask-forge show-config to verify what configuration is currently active.Shell session not refreshed, variable name is wrong, or config precedence issue.
Explicit CLI parameter > environment variable > config file.
echo %FORGE_MSSQL_SCHEMA_TONGS%
echo $FORGE_MSSQL_SCHEMA_TONGS
FORGE_MSSQL_SCHEMA_TONGS, FORGE_PGSQL_SCHEMA_QUENCH, etc.FORGE_LLM_PROVIDER, FORGE_LLM_API_KEY, FORGE_LLM_MODELFORGE_OPENAI_API_KEY, FORGE_OPENAI_MODELFORGE_ANTHROPIC_API_KEY, FORGE_ANTHROPIC_MODELFORGE_OLLAMA_ENDPOINT, FORGE_OLLAMA_MODELNo connection configured for the requested platform.
ask-forge list-connectionsask-forge set-connection --platform mssql --server localhost --database MyDB \
--user sa --password "..."
The current trust level does not permit the requested tool tier.
| Trust Level | Allowed Tiers |
|---|---|
observer |
Tier 1 (ReadOnly) only |
assistant default |
Tier 1 (ReadOnly) + Tier 2 (Generate) |
operator |
All tiers (ReadOnly, Generate, Modify, External) |
ask-forge show-config{
"agent": {
"trustLevel": "operator"
}
}
ask-forge --trust-level operator run-schema-tongs --platform mssql
A Tier 3 or 4 tool was invoked without --yes in a non-interactive context.
--yes to bypass confirmation:
ask-forge run-schema-tongs --platform mssql --yes
{
"agent": {
"confirmationLevel": "never"
}
}
always default -- prompts for Modify and External tiersexternal -- prompts for External tier onlynever -- no promptsAskForge not on PATH, or command name typo.
ask-forge --versionlist-tables, not listTables or list_tables.Old command names have been replaced. If you get an unrecognized command error, check these common renames:
| Old Name | New Name |
|---|---|
context |
show-context |
tables |
list-tables |
analyze |
review-schema |
suggest |
suggest-changes |
generate |
generate-migration |
Command requires a product or template context but none is set.
--product and --template flags:
ask-forge list-tables --product ./MyProduct --template Default
> navigate-context --product ./MyProduct --template Default
ask-forge from within your schema product directory.Current directory does not contain a Product.json file, and no previous session was saved.
Either pass --product /path/to/product explicitly, or cd into a directory that contains Product.json before running ask-forge.
These commands help diagnose configuration and connectivity issues:
| Command | Purpose |
|---|---|
ask-forge show-config |
Display active configuration, LLM provider status, trust level |
ask-forge show-context |
Display current product/template context |
ask-forge list-connections |
List all saved database connections |
ask-forge test-llm-connection |
Test connectivity to the active LLM provider |
ask-forge view-log --log_path <path> |
View the tail of an external tool log file |