<h1 dir="auto">What's Happening?</h1>
<p dir="auto">When (somehow) which "defaultProfile" is not able to run like miss-typing "commandline" goes like "powershell.ex" (no e) so there is no program to run it, windows terminal just shuts down when opening terminal, (or not the command line program, like office program WINWORD.EXE =&gt; opens word program and terminal shuts down.) and never can be opened before finding profiles.json and change wrong thing manually or change defaultProfile to which it can be run on windows terminal.</p>
<h1 dir="auto">Proposed technical implementation details</h1>
<p dir="auto">So, If something that (Cannot use Windows terminal because of profiles.json) happens, Opening a popup "Can't load Terminal" with button open profiles.json <strong>before Windows Terminal shuts down</strong> like the image<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/29011440/59963221-eb476300-952a-11e9-9393-0a2d9830b270.png"><img src="https://user-images.githubusercontent.com/29011440/59963221-eb476300-952a-11e9-9393-0a2d9830b270.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">or just not load any kind of commandline and <strong>make a select screen</strong> which profile to load for user like this image<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/29011440/59963201-b1765c80-952a-11e9-8f13-b348df6e2ebf.png"><img src="https://user-images.githubusercontent.com/29011440/59963201-b1765c80-952a-11e9-8f13-b348df6e2ebf.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto"><em>BTW I just made image using mspaint</em></p>
<p dir="auto">From <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="458366572" data-permission-text="Title is private" data-url="https://github.com/microsoft/terminal/issues/1343" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/terminal/pull/1343/hovercard" href="https://github.com/microsoft/terminal/pull/1343">#1343</a></p>
<blockquote>
<p dir="auto">Even more correct would be to specifically display a message that there was no default profile (though that might be too much for this release).</p>
</blockquote>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> If we load the <code class="notranslate">profiles.json</code> and the <code class="notranslate">defaultProfile</code> doesn't exist in the list of profiles, we should display an error specific to that failure case.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> We should also use the <em>first</em> profile as the default <em>temporarily</em>. We'll need to make sure not to persist this runtime change.</li>
</ul>
<p dir="auto">Maybe also:</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> Check if the commandline is a path to a single executable, and if it is, warn if it doesn't exist? Dunno how we'd get the first arg from the commandline <em>easily</em> but it could totally be done.</li>
</ul>