{"version":"2.1.248","anchor":"ink-app-shell-mcp-client-and-skill-tool-moved-to-top-level-d","canonical_anchor":"ink-app-shell-mcp-client-and-skill-tool-moved-to-top-level-d","heading":"Ink app shell, MCP client and Skill tool moved to top-level definitions","tier":"internal","area":"Startup","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/ink-app-shell-mcp-client-and-skill-tool-moved-to-top-level-d","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Ink app shell, MCP client and Skill tool moved to top-level definitions\n\nThe Ink shell, MCP client and Skill tool are now defined at load time.\n\n**What**\n\nThe Ink root class, the MCP client class and connect function, and the Skill tool definition are now defined directly rather than inside lazily-initialised module wrappers, so they are constructed at load rather than on first use. Terminal raw-mode handling, keypress parsing, the paste and mouse timeouts (50ms and 2000ms) and the Skill tool's validation messages are unchanged.\n\n**Details**\n\n- Several direct `process.env` reads in the Skill and MCP code became reads of a cached environment object, including `CLAUDE_CODE_SHELL_PREFIX` and `NODE_OPTIONS`.\n\n**Evidence**\n\n`static displayName = \"InternalApp\";`\n\n- Area: Startup\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}