The title of this question is general, so I'll provide a general answer. It applies to the specific challenges mentioned in the question too.
Ask yourself this:
Does it bring something new to the table?
If it does, then it's not a duplicate. If it doesn't, then it's a duplicate.
In general, taking away (or imposing new) restrictions might lead to very different answers in which case it's not a duplicate. However, it may also lead to similar answers where parts of the code is taken away, or there are some parts added to the existing ones, in which case it can be considered a duplicate.
It's hard to tell how close two challenges can be before they are considered duplicates. The Sandbox is particularly useful in such cases.
No, it is not a duplicate.
Since I'm the one who hammered it back open, I should definitely explain my thoughts on this. An interactive interpreter is a lot different from a non-interactive one, because a non-interactive interpreter can be a lot simpler and use some golfing strategies that would not work provided a requirement for a prompt.
For example, displaying a prompt and taking input from STDIN takes up to 6 bytes in Jelly, and putting it in a loop takes another 2, at least, so answers from the interactive one would not be competitive enough in this scenario unless they were modified to match the challenge specs for this challenge, which I believe justifies its individual existence. Likewise, answers in this challenge wouldn't even be valid in the other one because they're non-interactive without a prompt.
Stewie Griffin's main point which I want to expand on is whether or not it "adds something new to the table". This is definitely a good point to consider and while I believe that the two have basically the same ideas in terms of what they're doing, I'd argue that the majority of KC challenges are all basically identical and that adding a non-interactive interpreter challenge does bring something new by allowing participation of certain languages without interactive input (maybe those exist, I don't know) and opening the scope to another set of golfing strategies.
For these reasons, I voted to reopen. (For reference, my vote counted in the place of 2 votes in this case)
Yes, it is a duplicate
Since I am the one who “hammer”-closed it as a duplicate, I feel like I am morally obligated to explain my reasoning here. Because your challenge is merely a subset of the other challenge, I think they cannot be considered different challenges — although the answers are not immediately portable from one challenge to another, the core task is the same: Interpret the Deadfish programming language. Interactively or not, the idea is the same. Therefore, I think they are too closely related for yours to be kept open.
Don’t get me wrong, it’s a very well-written challenge, but I closed it as a duplicate because your was a subset — and a rather big one — of the other post.
Since a valid answer for your challenge isn't a valid answer for the other one, and a competitive answer in the other challenge wouldn't be competitive in yours - I don't think it's a duplicate.
The case for "No".
I did vote to close, but I was actually trying to just flag it for moderator attention. I don't necessarily have an opinion one way or another, but I want to present this viewpoint.
Sometimes challenges require a lot from a language (IO, measuring mouse clicks or positions, etc.) and a similar challenge with fewer requirements can be appropriate.
An example of this is Visualize Visual Eyes and The Eyes are Following You. The first challenge required detection of mouse location on a screen and the second challenge replaced mouse interactivity with an integer input, allowing for many more languages to participate.
In this case, if the first challenge is restrictive of many languages due to requiring interactivity, then another challenge might be warranted.
Edit: if you disagree, please consider adding a comment and explaining why.