There are two places where you'd use square brackets, and their meaning is different depending on where you do. Inside strings square brackets mean text substitutions or command phrases (like "if"). Everywhere else they denote comments that are completely ignored by the compiler. You should never use square brackets outside strings unless you're writing a comment.
Because the compiler ignores the comments, the code is exactly equal to:
After taking:
say "You take the vial carefully avoiding spilling the contents.";
say "You take the empty vial.";
You can fix it by removing the square brackets which makes the full code visible to the compiler.